YARNを使った配備
YARN上のGearpumpクラスタを起動する方法
-
gearpump-2.11-0.8.0.zip
をリモートのHDFSフォルダにアップロードし、/usr/lib/gearpump/gearpump-2.11-0.8.0.zip
の下にそれを配置すると仮定します。 -
HDFS上のホームディレクトリが既に生成され、ユーザに対して全てのread-write権限が与えられているようにします。例えば、ユーザ
gear
のホームディレクトリは/user/gear
です -
クラスパスの下にYARN設定を配置します。"yarnclient launch"を呼ぶ前に、全てのyarn設定ファイルがクラスパスの下に配置されているようにしてください。一般的に、YARNクラスタマシーンの1つからgearpumpの
conf/yarnconf
へ、全てのファイルを$HADOOP_HOME/etc/hadoop
の下に単にコピーすることができます。$HADOOP_HOME
はHadoopインストレーションディレクトリを指します。 -
YARN上のgearpumpクラスタを起動する
yarnclient launch -package /usr/lib/gearpump/gearpump-2.11-0.8.0.zip
パッケージパスを指定しない場合は、
gear.conf
からデフォルトのパッケージパス(gearpump.yarn.client.package-path
) を読み込むでしょう。注意: スクリプトファイルを
yarnclient
で実行可能にするためにシェル内でchmod +x bin/*
を実行する必要があるかも知れません。 -
起動した後で、YARNリソースマネージャー ダッシュボードを使ってGearpump UIを見ることができます。
Gearpumpクラスタのリソース制限を設定する方法
Gearpumpクラスタを起動する前に、以下のようなリソースの制限を設定するために、gear.conf内のgearpump.yarn
設定セクションを変更してください:
- ワーカーコンテナの数。
- ワーカーおよびマスターのためのYARNコンテナ メモリサイズ。
アプリケーションをGearpumpクラスタにサブミットする方法。
jarをGearpumpクラスタにサブミットするには、最初にマスターアドレスを知る必要があります。つまり、最初にアクティブな設定ファイルを取得する必要があります。
アクティブな設定ファイルを取得するには二つの方法があります:
-
オプション 1: クラスタを起動する時に "-output" オプションを指定する。
yarnclient launch -package /usr/lib/gearpump/gearpump-2.11-0.8.0.zip -output /tmp/mycluster.conf
それはコンソール内に以下のようなものを返すでしょう:
================================================ ==Application Id: application_1449802454214_0034
-
オプション 2: アクティブな設定ファイルをクエリする
yarnclient getconfig -appid <yarn application id> -output /tmp/mycluster.conf
yarn アプリケーション id はステップ1の出力か、YARNダッシュボードから見つけることができます。
-
設定ファイルをダウンロードした後で、その設定ファイルを使ってアプリケーションを起動することができます。
gear app -jar examples/wordcount-2.11-0.8.0.jar -conf /tmp/mycluster.conf
-
YARN上でGearpump上のStormアプリケーションを実行する場合は、設定ファイルを
-output application.conf
を使って格納し、Stormアプリケーションを以下のコマンドを使って起動してくださいstorm -jar examples/storm-2.11-0.8.0.jar storm.starter.ExclamationTopology exclamation
-
これで、アプリケーションが実行されます。これをチェックするには:
gear info -conf /tmp/mycluster.conf
-
UIサーバを起動するには以下のようにしてください:
services -conf /tmp/mycluster.conf
デフォルトのユーザ名とパスワードは"admin:admin"で、ユーザを管理する方法をUI 認証で見つけることができます。
動的にマシーンを 追加/削除 する方法。
Gearpump yarn ツールは動的にマシーンを 追加/削除 できます。以下はそのステップです:
-
まず、アクティブなリソースを取得するためにクエリします。
yarnclient query -appid <yarn application id>
コンソールの出力はどれだけの数のワーカーとマスターがあるかを表すでしょう。例えば、以下のような出力を得ます:
masters: container_1449802454214_0034_01_000002(IDHV22-01:35712) workers: container_1449802454214_0034_01_000003(IDHV22-01:35712) container_1449802454214_0034_01_000006(IDHV22-01:35712)
-
新しいワーカーマシーンを追加するには、以下のようにしてできます:
yarnclient addworker -appid <yarn application id> -count 2
これは二つのワーカーマシーンを追加するでしょう。変更に効果があったかを確認するために、最初のステップのコマンドを実行します。
-
古いマシーンを削除するには、以下を使います:
yarnclient removeworker -appid <yarn application id> -container <worker container id>
ワーカー コンテナ id はステップ1の出力で見つかります。例えば、"container_1449802454214_0034_01_000006" はコンテナidです。
他の使い方:
-
クラスタをkillするには:
yarnclient kill -appid <yarn application id>
注意: もしアプリケーションが起動しない場合は、このコマンドは動作しないでしょう。代わりに "yarn application -kill
" を使ってください。 -
Gearpumpバージョンを調べるには
yarnclient version -appid <yarn application id>