OpenStack がビッグデータの使用事例で重要な役割を果たす方法

OpenStack がビッグデータの使用事例で重要な役割を果たす方法

OpenStack は、コンピューティング、ストレージ、およびネットワーク リソースのプールを制御します。この記事では、OpenStack がビッグデータの使用事例で重要な役割を果たす方法に焦点を当てます。

OpenStack 上のビッグデータ

今日では、データはあらゆる場所で生成され、その量は飛躍的に増加しています。 Web サーバー、アプリケーション サーバー、データベース サーバーからのデータは、ユーザー情報、ログ ファイル、システム ステータス情報の形式で提供されます。センサー、車両、産業機器などの IoT デバイスからも大量のデータが生成されます。科学的シミュレーション モデルから生成されるデータもビッグ データのソースです。従来のソフトウェア ツールを使用すると、このデータを保存して分析することは困難ですが、Hadoop を使用するとこの問題を解決できます。

[[225851]]

ユースケースのシナリオを考えてみましょう。大量のデータがリレーショナル データベース管理システム環境に保存されます。データ セットが大きくなるにつれて、RDBMS (リレーショナル データベース管理システム) のパフォーマンスは低下します。そして、データセットが拡大するにつれて、この問題はより深刻になります。この段階では、NoSQL の採用は避けてください。大量のデータをコスト効率の高い方法で保存および処理する必要があります。非仮想化環境でハイエンド サーバーに依存すべきでしょうか?要件は、いつでもクラスターを拡張することであり、そのすべてのコンポーネントを管理するためのより優れたダッシュボードが必要です。

OpenStack 上に Hadoop クラスターを構築し、ETL (抽出、変換、ロード) ジョブ環境を作成する計画を立てます。 Hadoop は、フォールト トレラントな Hadoop 分散ファイル システムと MapReduce 実装を使用して大規模なデータ セットを保存および分析するための業界標準フレームワークです。ただし、スケーラビリティは、典型的な Hadoop クラスターでは非常に一般的な問題です。

Openstack は、Sahara - Data Processing as a Service というプロジェクトを開始しました。 Openstack Sahara は、クラスター トポロジ内で Hadoop MapReduce、Spark、Storm などのデータ処理フレームワークを構成および管理するように設計されています。このプロジェクトは、Amazon Elastic MapReduce (EMR) サービスによって提供されるデータ分析プラットフォームに似ています。 Openstack Sahara は数分でクラスターをデプロイします。さらに、Openstack Sahara は、需要に応じてワーカーノードを追加または削除することでクラスターを拡張できます。

Openstack Sahara を使用して Hadoop クラスターを管理する利点

  • クラスターのプロビジョニングがより速くなり、構成も簡単になります。
  • 他の OpenStack サービスと同様に、Sahara サービスは強力な REST API、CLI、Horizo​​n ダッシュボードを通じて管理できます。
  • -- Vannila (Apache Hadoop)、HDP (ambari)、CDH (Cloudera)、MapR、Spark、Storm など、複数の Hadoop ベンダーをサポートするプラグインが利用可能です。
  • ——クラスターのサイズは、需要に応じて拡大または縮小できます。
  • ——OpenStack Swift と統合して、Hadoop および Spark で処理されたデータを保存できます。
  • ——クラスター監視がシンプルに。
  • -- クラスター構成に加えて、Sahara はアドホックまたはバースト分析ワークロード向けの分析サービスとしても使用できます。

建築

Openstack Sahara は、OpenStack のコア サービスとその他の完全に管理されたサービスを活用するように設計されています。これにより、Sahara の信頼性が向上し、Hadoop クラスターを効率的に管理できるようになります。 Trove (ユーザーがリレーショナル データベースを管理し、MySQL インスタンスの非同期レプリケーションを実装し、PostgreSQL データベース インスタンスを提供する OpenStack データ サービス コンポーネント) や Swift などのサービスを使用することを選択できます。サハラの建築を見てみましょう。

  • -- Sahara サービスには、エンドユーザーからの HTTP リクエストに応答し、他の OpenStack サービスと対話して機能を実行する API サーバーがあります。
  • -- Keystone (Identity as a Service) はユーザーを認証し、OpenStack で使用するためのセキュリティ トークンを提供して、Sahara でのユーザーの機能を OpenStack 権限に制限します。
  • Heat (Orchestration as a Service) は、データ処理クラスターの展開を構成およびオーケストレーションするために使用されます。
  • Glance (Virtual Machine Image as a Service) は、オペレーティング システムと Hadoop/Spark パッケージがプリインストールされた VM イメージを保存し、データ処理クラスターを作成します。
  • —— Nova (Compute) は、データ処理クラスター用の仮想マシンを提供します。
  • Ironic (サービスとしてのベアメタル) は、データ処理クラスター用のベアメタル ノードを提供します。
  • -- Neutron (ネットワーキング) は、基本的なトポロジから高度なトポロジまで、データ処理クラスターへのネットワーク サービス アクセスを容易にします。
  • —— Cinder (ブロック ストレージ) は、クラスター ノードに永続的なストレージ メディアを提供します。
  • Swift (オブジェクト ストレージ) は、hadoop/spark によって処理されたジョブ バイナリとデータを保存するための信頼性の高いストレージを提供します。
  • Designate (DNS as a Service) は、クラスター インスタンスの DNS レコードを保持するためのホスト ゾーンを提供します。 Hadoop サービスはホスト名を通じてクラスター インスタンスと通信します。
  • Ceilometer (telrmetry) は、計測と監視の目的でクラスターに関するメトリックを収集して保存します。
  • - Manila (ファイル共有) を使用して、ジョブ バイナリとジョブによって作成されたデータを保存できます。
  • Barbican (キー管理サービス) は、パスワードや秘密鍵などの機密データを安全に保存します。
  • -- Trove (Database as a Service) は、Hive メタストアのデータベース インスタンスを提供し、Hadoop サービスやその他の管理サービスの状態を保存します。

Sahara クラスタの設定方法

Deploy Sahara インストール ガイドの手順に従います。デプロイメント環境によってアプローチは異なりますが、実験したい場合は Kolla も良い選択肢です。

Horizo​​n ダッシュボードを通じて Sahara プロジェクトを管理することもできます。

Sahara Cluster ETL (抽出、変換、ロード) または ELT (抽出、ロード、変換) を使用する

市場には多くの ETL ツールが存在します。

従来のデータ ウェアハウスには、データ ソース以外の場所に配置される可能性があるなど、独自の利点と制限があります。 Hadoop は ETL ジョブを実行するのに理想的なプラットフォームです。

データ ストアには、構造化データ、半構造化データ、非構造化データなど、さまざまな種類のデータが存在します。 Hadoop エコシステムには、さまざまなデータ ソース (データベース、ファイル、その他のデータ ストリームを含む) からデータを抽出し、集中型の Hadoop 分散ファイル システム (HDFS) に保存するためのツールがあります。

データが急速に増加すると、Hadoop クラスターを拡張して OpenStack Sahara を活用できるようになります。

Apache Hive は、Hadoop エコシステム上に構築されたデータ ウェアハウス プロジェクトであり、ETL 分析のための堅牢なツールです。 Sqoop、Flume、Kafka などのツールを使用してデータ ソースからデータを抽出したら、MapReduce テクノロジーを使用した Hive または pig スクリプトを使用してデータをクリーンアップおよび変換する必要があります。

Hive のもう 1 つの利点は、Hive クエリ言語を通じてアクセスできるインタラクティブなクエリ エンジンであることです。 SQL に似ています。したがって、データベース担当者は、Java や MapReduce の概念を習得しなくても、Hadoop エコシステムでジョブを実行できます。 Hive クエリ実行エンジンは、Hive クエリを解析し、一連の MapReduce / Spark ジョブに変換します。 Hive には、JDBC/ODBC ドライバーとシン クライアントを通じてアクセスできます。

Oozie は、Hadoop エコシステムで利用できるワークフロー エンジンです。ワークフローは、分散環境でシーケンスとして実行する必要がある一連のタスクです。 Oozie は、複数のワークフローをカスケードし、調整されたジョブを作成するためのシンプルなワークフローの作成に役立ちます。 Oozie は、Hadoop 関連のすべての操作をサポートするモジュールはありませんが、複雑な ETL ジョブのワークフローを作成するのにも最適です。

Openstack Mistral (Workflow as a Service) などの任意のワークフロー エンジンを使用して ETL 作業を実行できます。 Apache oozie は、いくつかの点で Openstack Mistral に似ており、定期的にトリガーできるジョブ スケジューラとして機能します。

アプリケーションが Hadoop を使用してデータを MySQL サーバーに保存する一般的な ETL ジョブ フローを見てみましょう。保存されたデータは最小限のコストと時間で分析する必要があります。

抽出する

最初のステップは、MySQL からデータを抽出し、HDFS に保存することです。

Apache Sqoop は、RDBMS データ ストアなどの構造化データ ソースからデータをエクスポート/インポートするために使用できます。

抽出するデータが半構造化データまたは非構造化データである場合は、Apache Flume を使用して、Web サーバー ログ、Twitter データ ストリーム、センサー データなどのデータ ストリームからデータを取り込むことができます。

変換

上記のステージから抽出されたデータは正しい形式ではありません (生データのみ)。適切なフィルターとデータ集約を使用してクリーンアップする必要があります。

これは HDFS にデータを保存するために不可欠です。

この時点で、各テーブルの Hive スキーマを設計し、ステージング領域に保存されているデータを変換するためのデータベースを作成する必要があります。

通常、データは .csv 形式で、各レコードはコンマで区切られます。

HDFS データがどのように保存されているかを理解するために、HDFS データを調べる必要はありません。 Hive と互換性があるはずの珍しいデータ型がいくつかあります。

データベースがモデル化された後、抽出されたデータをロードしてクリーニングすることができます。表内のデータはまだ正規化されていません。異なるテーブルから必要な列を集計します。

同様に、「OVERWRITE INTO TABLE」ステートメントを使用して、複数のテーブルからデータを要約することもできます。

Hive はパーティション化されたテーブルをサポートしており、実行負荷を水平に分散することでクエリのパフォーマンスを向上させます。年と月の列を分割することをお勧めします。場合によっては、パーティション化されたテーブルによって MapReduce ジョブでより多くのタスクが作成されることがあります。

負荷

ここで、変換されたデータを HDFS のデータ ウェアハウス ディレクトリにロードします。これがデータの最終状態です。ここで、適切な結果を得るために SQL クエリを適用できます。

すべての DML コマンドを使用して、ユースケースに基づいてウェアハウス データを分析できます。

結果は分析用に .csv、表、またはグラフとしてダウンロードできます。 Talend OpenStudio、Tabelau などの他の一般的なビジネス インテリジェンス ツールと統合できます。

オートメーション

ここで、Oozie ワークフロー エンジンを使用して ETL ジョブを自動化します (Mistral を使用することもできます。ほとんどの Hadoop ユーザーは Apache Oozie の使用に慣れています)。

結論は

OpenStack は非常に大規模な Hadoop エコシステムと統合されており、多くのクラウド プロバイダーが Hadoop サービスを提供しています (クラウド管理ポータルから数回クリックするだけで利用できます)。 Sahara はほとんどの Hadoop ベンダー プラグインをサポートしており、ETL ワークフローを実行できます。

<<:  ニーズに合ったクラウドホストの選び方

>>:  従来の SAN や NAS と比較した分散ストレージの利点と欠点は何ですか?

推薦する

Google Cloud がクラウドネイティブ ネットワーク変革を目標とした 3 つの新しい通信製品を発表

Google Cloud は、3 つの新しい通信関連製品をリリースすることでこれを実現します。これら...

SEOに適したCMSシステムを選択する方法についての簡単な説明

現在、インターネット市場では、ほとんどのマーケティング ウェブサイトは CMS システムによって作成...

OpenStack Pike: コアコード貢献度で中国企業3社がトップ10入り

9月1日、OpenStackの最新バージョンであるPikeが正式にリリースされました。新バージョンの...

ブランドマーケティングのポジショニングに関する 5 つのヒント!

自分自身を位置付ける方法はたくさんありますが、その核心はただ一つ、認知において有利な位置を占めること...

61host: US cn2 gia + DDoS高防御 + Golden Shield CC防御、月額24元から、1Gメモリ/1コア/20gシステムディスク+20g SSDデータディスク/800gトラフィック

中国商人の六易雲は2017年に設立されました(おそらく新興商人です)。主にVPS事業を運営しており、...

2022 年のクラウド仮想化の 5 つのトレンド

サーバー仮想化は、VMware が登場した約 20 年前に爆発的に普及しました。しかし、長い道のりを...

ステーションBにはバックハンドがない

ビリビリは予定通り「2024年損益分岐点」の目標を達成できるのか?ビリビリの2022年第2四半期財務...

年額支払い: 9.99 ドル/512M メモリ/SSD/Phoenix

Bandwagonhost は vpsblast の別名で、OpenVZ をベースにした低価格の S...

ウェブサイトとソフトウェアの共鳴が、冗長で反復的なウェブサイトコンテンツの受動的な状況をどのように変えることができるかについて話す

検索エンジンによるザクロアルゴリズムのリリース以来、多くのウェブサイトは高品質のページを再検索する道...

10年続くレストランの閉店を追跡 Fantong.com

Fantong.comは消滅しました。 O2Oの普及により、飲食サービスサイトは絶好調のはずだったが...

あなたのクラウドはまだ手動ですか?クラウドコンピューティングとインフラストラクチャ自動化に欠かせない 5 つのツール

万能のツールはありませんが、予算内で最高の入出力比率を持つ優れた製品を見つけることができます。現代の...

それは単に利益が大きいからでしょうか? Google が Web3 を導入する意図は何ですか?

最近、Google は、ブロックチェーン アプリケーションを実行する開発者にバックエンド サービスを...

2019年上半期中国広告市場レポート

2019年上半期は、「安定と変化、変化と懸念」の経済環境の影響を受け、2019年の経済市場全体に対す...

KubeEdge に基づくエッジノードグループ化管理の設計と実装

KubeEdge 1.11 バージョンでは、クロスリージョン アプリケーション デプロイメント モデ...