hadoop
ClouderaManager
streamsets
dataflow

Cloudera ManagerでStreamSetsのDataCollectorを楽々セットアップ

More than 1 year has passed since last update.

データフローが必要な背景

Hadoop(HDFS)にデータを集めてSparkやMapReduceで処理を行いたい場合、データのパイプラインを作る必要があるかもしれません。HadoopエコシステムのApache FlumeやApache Kafkaなどを組み合わせてパイプラインを作ることもできますが、それなりの手間と労力がかかります。

データフローを作るためのOSSとしてApache Nifi (https://nifi.apache.org/) がありますが、ApacheライセンスのOSS、StreamsetsのData Collector (https://streamsets.com/product/) もあります。後発な分、フローの定義やモニタリングのGUIが洗練されているような印象がありますね。

[Streamsetsのホームページより引用]
adaptable-flows-2k.png

Data CollectorはApacheライセンスのOSSですが、Apacheプロジェクトではありません。しかし、HadoopやHadoopエコシステムと組み合わせて使うことが多いでしょう。Hadoopの環境は Cloudera Managerを使って簡単に構築できますが、同様に、Data CollectorもCloudera Managerを使って簡単にセットアップできます。今回は手元の環境でセットアップして試してみました。

なお、Streamsetsについては下記の記事も参考になります。
http://qiita.com/junko_urata/items/e6355bba3ad3f35c854eの

デモ動画
https://twitter.com/mlmoreno/status/753267274224578560

環境の準備

  • Cloudera Quickstart VM 5.7 の仮想マシン または
  • Cloudera ManagerがセットアップされたHadoopクラスタ

Cloudera Quickstart VMのセットアップについては以下を参考にしてください。

Cloudera Manager に Streamsets のCSD (Custom Service Descriptors)をセットアップ

今回はCloudera Managerで構築するので、
https://streamsets.com/opensource/
のCSDの手順に従ってセットアップします。

streamsets_download.png

ダウンロードが終わったら手順に従ってファイルをセットアップします。

[cloudera@quickstart ~]$ cd Downloads/
[cloudera@quickstart Downloads]$ sudo mv STREAMSETS-1.5.0.0.jar /opt/cloudera/csd
[cloudera@quickstart Downloads]$ sudo chown cloudera-scm:cloudera-scm /opt/cloudera/csd/STREAMSETS-1.5.0.0.jar 
[cloudera@quickstart Downloads]$ sudo /etc/init.d/cloudera-scm-server restart
Stopping cloudera-scm-server:                              [  OK  ]
Starting cloudera-scm-server:                              [  OK  ]
[cloudera@quickstart Downloads]$ 

Cloudera ManagerのWebUIからログインし、Parcelの画面からStreamsetsのDataCollectorをダウンロードします。

streamsets_cm.png
メニューのアイコンをクリックしてParcelの画面に移動します

streamsets_parcel.png
Streamsets DataCollectorをダウンロードします。

streamsets_parcel_distribute.png
ダウンロードが終わったら配布します。(今回は1ノードですが、、、)

streamsets_parcel_activate.png
配布したらアクティベート(アクティブ化)します。

streamsets_activating.png

streamsets_activated.png
これでアクティブ化が完了です。

Cloudera ManagerからDataCollectorサービスを追加する

Cloudera Managerは、HiveやHDFSなどのサービスをGUIからセットアップできますが、同じ手順でDataCollectorもセットアップできます。トップページの左側の▼を押して、メニューからサービスの追加を選びます。

cm_top.png

cm_add_service.png
下にスクロールしてみるとStreamsetsというサービスが選択できるようになっています。

cm_add_sc.png
チェックして次に進みます。ウィザードが表示されるので、画面の指示に従って進みましょう。

cm_wizard1.png
Data Collector をインストールするホストを選択します。まだ割り当てていないので、「ホストの選択」をクリックしましょう。

cm_wizard2.png
今回は1台しかないので、quickstart.clouderaをチェックします。

cm_wizard3.png
次に進みます。

cm_wizard5.png
設定はデフォルトのまま次に進みます。

cm_wizard6.png
自動的にサービスが開始されます。

cm_wizard7.png
サービスが開始したら続行しましょう。

cm_wizard8.png
これで、指定したホストでDataCollectorサービスが実行されています。

DataCollectorサービスの状態を確認する

トップページに戻ると、サービス一覧にStreamsetsが追加されています。StreamSetsをクリックしてサービスの画面に移動しましょう。
cm_top2.png

StreamSetsのメニュー
cm_ss.png

StreamsetsサービスにData Collectorがあるのでクリックしてみます。
cm_dc.png

Data Collectorは正常に動作しているようです。メニューの「Data Collector Web UI」をクリックするとData Collectorが提供している Web UIが表示されます。

Data Collector

Data Collectorのログイン画面です。
ss_top.png

デフォルトのユーザー名、パスワードは下記の通りです。

  • admin/admin

ログインすると以下の画面が表示されました。
ss_top2.png
この画面からデータフローを作成することができます。

次回

次回 (http://qiita.com/kernel023/items/8a939f51cca8469e1f04) はGUIからデータのパイプラインを作成します。