第3章 ワークフロー
OpenStack Data Processing は、特別に設計されたインスタンスを定義する事前設定されたクラスターテンプレートを使用して、Hadoop クラスターをプロビジョニングし、スケーリングします。これらのインスタンスは、Hadoop クラスターを設定する個々のノードを形成します。次に、これらの Hadoop クラスターを使用して、データを処理するジョブ/バイナリーを実行できます。
OpenStack Data Processing を使用する場合は、Hadoop フレームワーク内で機能するために必要なコンポーネントをすでに理解している必要があります。そのため、本セクションで説明している一般的なワークフローでは、以下のコンポーネントがすでに準備されていることを前提としています。
- Hado イメージ。特に、Hadoop データ処理プラグインを含む Red Hat Enterprise Linux イメージ。サポートされるプラグインの一覧は、1章概要 を参照してください。
- 処理する入力データ。Object Storage サービスにアップロードされることが推奨されます。
- 入力データの処理に使用するジョブバイナリーおよびライブラリー。Object Storage サービスにアップロードされることが推奨されます。
Object Storage サービスにコンテンツをアップロードする方法の詳細は、Uploading an Object を参照してください。
また、ジョブの実行に必要な計算リソースの一般的な概念も必要です。これにより、必要なノードのタイプ(および各ノード数)を判断しやすくなります。
以下のワークフローの概要では、OpenStack Data Processing サービスを設定して使用し、クラスターを起動し、これらのクラスターでジョブを実行する方法を説明します。
OpenStack Data Processing (4章Hopa イメージの作成)に必要なプラグインコンポーネントを含むイメージを作成します。これは、Hadoop イメージになります。
このイメージの作成手順は、選択した Hive プラグインによって異なります。
OpenStack Data Processing サービスに以下のコンポーネントを登録します。
- Hadoop イメージ
- データソース(入力データおよび出力データの場所)
ノードグループテンプレートを作成します。各テンプレートは、指定ノードに対して多くの便利な Hadoop 固有の設定を定義します。特に、以下のようになります。
- ノードグループが使用するのは、Hadoop プラグインとバージョンは何ですか ?
- ノードで実行されるプロセス
クラスターテンプレートを作成またはアップロードします。クラスターテンプレートは、以下のような内容を定義します。
- ノードグループの設定: つまり、各ノードグループのノード数。
- クラスタースコープのHadoop設定: 各Hoa コンポーネント(HIVE、AMBARI、HDFS など)に設定する必要のある特定のパラメーターです。
- (クラスターテンプレートを使用して)Hado クラスターを起動し、クラスターでジョブを実行します(つまり、データソースで登録済みのジョブバイナリーを実行します)。必要に応じて、クラスターをスケーリングすることもできます(任意のタイプのノードを追加または削除します)。
- ジョブバイナリー、スクリプト、またはライブラリーを OpenStack Data Processing Service に登録し、ジョブを作成し、Hadoop クラスターで起動します。ジョブは、登録したデータソースを処理するために使用するジョブバイナリー、スクリプト、またはライブラリーを定義します。
次の数セクションでは、各ワークフローの手順について詳しく説明します。