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 と比較した分散ストレージの利点と欠点は何ですか?

推薦する

一般的に使用されるネットワークマーケティング手法の概要

インターネット マーケティングは、あらゆる企業や Web サイトが存続し発展するために欠かせない手段...

テンプレートベースのウェブサイトはカスタムメイドのウェブサイトよりも劣っているのでしょうか?騙されたかも知れませんよ!

月収10万元の起業の夢を実現するミニプログラム起業支援プラン多くのインターネット会社の営業マンは、顧...

クラウドイノベーションの魅力を解き放つAWSは、企業のクラウドへの移行を容易にします。

[元記事は51CTO.comより] 米国時間2017年11月29日、Amazonの子会社であるAWS...

低コストまたは無料のIP変更、「タスク」に便利なVPSの推奨(動的IP/ダイヤルアップVPS)

特定の環境では、ブラッシング注文、ブラッシングコメント、投票、急ぎの購入など、VPS の IP を切...

ロングテールで勝つことはSEO担当者にとって数少ない良い方法の1つです

昨日、私はSotu.comサロンに出席し、王同教授の見解を聞きました。彼が挙げた例の一つは、百度で趙...

arkecxはどうですか? arkecxブラジルのクラウドサーバーの簡単なレビュー

arkecx はどうですか、arkecx ブラジルのクラウド サーバーはどうですか?ブラジルは南米に...

意見:企業はマルチクラウドを心配するのではなく、ハイブリッドクラウド戦略にもっと重点を置くべき

実際、多くの企業がマルチクラウドを使用していますが、それが何であり、なぜそうするのかを知っている人は...

ソフトコンテンツマーケティングを成功させる秘訣

ご存知のとおり、ソフト記事はオンラインプロモーションにおいて非常に重要な役割を果たします。高品質のソ...

Weiboマーケティングの経験を共有しましょう

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeiboマーケティング...

より多くの排水経路を知ることは、これら 3 つの排水原則を理解することほど重要ではありません。

ユーザーの増加は、運用のほぼ究極の命題です。トラフィックの増加を促進できない運用は良い運用とは言えま...

Banwagong: 11月、米国フリーモント(USCA_FMT)データセンターVPS簡易評価

BandwagonHost(バンワゴンホストvps)は、米国のcn2 gia vps、香港のcn2 ...

上海のウェブサイトが「年金消費」を利用して金儲けするねずみ講の疑いで捜査される

現在、上海佳地豪公司傘下の「I Love What I Buy」ウェブサイトには、全国で7万人以上の...

Taobao Liveは何を恐れているのでしょうか?

トランザクション企業とコンテンツ企業は本来的に異なる2つの種であるという考えは、再検討する価値がある...

通信事業者はクラウド主権を強化し、もはや舞台裏で大物でありたくないと考えている

中国電信や中国移動に代表される「キャリアクラウド」は、デジタル市場において見過ごされつつある新たな変...

ハイブリッドクラウドとマルチツールの世界で秩序を維持する方法

[[343867]]組織が重要性と競争力を維持するために、デジタル変革はますます重要になっています。...