このページでは、E-MapReduce クラスターの複数の操作方法について説明します。コンポーネントに対する個別の操作の実行がより簡単になります。
一般的な環境変数
JAVA_HOME=/usr/lib/jvm/java
HADOOP_HOME=/usr/lib/hadoop-current
HADOOP_CLASSPATH=/usr/lib/hbase-current/lib/*:/usr/lib/tez-current/*:/usr/lib/tez-current/lib/*:/etc/emr/tez-conf:/usr/lib/hbase-current/lib/*:/usr/lib/tez-current/*:/usr/lib/tez-current/lib/*:/etc/emr/tez-conf:/opt/apps/extra-jars/*:/opt/apps/extra-jars/*
HADOOP_CONF_DIR=/etc/emr/hadoop-conf
SPARK_HOME=/usr/lib/spark-current
SPARK_CONF_DIR=/etc/emr/spark-conf
HBASE_HOME=/usr/lib/hbase-current
HBASE_CONF_DIR=/etc/emr/hbase-conf
HIVE_HOME=/usr/lib/hive-current
HIVE_CONF_DIR=/etc/emr/hive-conf
PIG_HOME=/usr/lib/pig-current
PIG_CONF_DIR=/etc/emr/pig-conf
TEZ_HOME=/usr/lib/tez-current
TEZ_CONF_DIR=/etc/emr/tez-conf
ZEPPELIN_HOME=/usr/lib/zeppelin-current
ZEPPELIN_CONF_DIR=/etc/emr/zeppelin-conf
HUE_HOME=/usr/lib/hue-current
HUE_CONF_DIR=/etc/emr/hue-conf
PRESTO_HOME=/usr/lib/presto-current
PRESTO_CONF_DIR=/etc/emr/presot-conf
Web UI を使用してコンポーネントを起動および停止
- クラスター一覧 のページで、操作を実行するクラスターの "アクション" 列の [管理]をクリックします。
- [クラスターとサービス] ページで、 [HDFS] リンクをクリックし [HDFS] サービスページに移動します。
- [コンポーネントトポロジ] タブをクリックして、クラスター内のすべてのインスタンスで実行されているコンポーネントの一覧を表示します。
- emr-worker-1 インスタンス上で実行される DataNode コンポーネントで "アクション" 列の [開始] をクリックします。 ダイアログボックスにコミットレコードを入力し、[OK] をクリックします。 10 秒後にページを最新の情報に更新します。 DataNode の "コンポーネントステータス" 列の値が "STOPPED" から "STARTED" に切り替わります。
- コンポーネントが起動したら、"アクション" 列で [再起動] をクリックします。 ダイアログボックスにコミットレコードを入力し、[OK] をクリックします。
40 秒後にページを最新の情報に更新します。 DataNode の "コンポーネントステータス" 列の値が "STOPPED" から "STARTED" に切り替わります。
- "アクション" 列の [停止] をクリックします。 ダイアログボックスにコミットレコードを入力し、[OK] をクリックします。
10 秒後にページを最新の情報に更新します。 DataNode の "コンポーネントステータス" 列の値が "STOPPED" から "STARTED" に切り替わります。
Web UI を使用してコンポーネントに対する一括操作を実行
指定した単一の ECS インスタンスではなく、複数の ECS インスタンスのコンポーネントに対して一括操作を実行できます。 HDFS サービスを例とします。 すべてのインスタンスの DataNode コンポーネントを再起動するには、以下のステップを実行します。
- クラスター一覧 ページで、操作を実行するクラスターの "アクション" 列の [管理] をクリックします。
- クラスターとサービス ページで、サービス一覧の [HDFS] の [アクション] をクリックします。
- [アクション]ドロップダウンリストから [RESTART DataNode] を選択します。 ダイアログボックスにコミットレコードを入力し、[OK] をクリックします。
[HDFS] をクリックして [コンポーネントトポロジ] タブをクリックします。 [コンポーネントトポロジ] タブページで各プロセスのステータスを閲覧します。
重要 クラスターのローリング再起動を実行後に手動でノードを再起動すると、コンソールからエラーが報告されます。
CLI を使用してコンポーネントを起動および停止
- YARN
Account: hadoop
- ResourceManager (マスターコンポーネント)
//Starts a component. /usr/lib/hadoop-current/sbin/yarn-daemon.sh start resourcemanager //Stops a component. /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop resourcemanager
- NodeManager (コアコンポーネント)
//Starts a component. /usr/lib/hadoop-current/sbin/yarn-daemon.sh start nodemanager //Stops a component. /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager
- JobHistoryServer (マスターコンポーネント)
//Starts a component. /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh start historyserver //Stops a component. /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh stop historyserver
- JobHistoryServer (マスターコンポーネント)
//Starts a component. /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh start historyserver //Stops a component. /usr/lib/hadoop-current/sbin/mr-jobhistory-daemon.sh stop historyserver
- WebProxyServer (マスターコンポーネント)
//Starts a component. /usr/lib/hadoop-current/sbin/yarn-daemon.sh start proxyserver //Stops a component. /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop proxyserver
- ResourceManager (マスターコンポーネント)
- HDFS
Account: hdfs
- NameNode (マスターコンポーネント)
//Starts a component. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start namenode //Stops a component. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop namenode
- DataNode (コアコンポーネント)
//Starts a component. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh start datanode //Stops a component. /usr/lib/hadoop-current/sbin/hadoop-daemon.sh stop datanode
- NameNode (マスターコンポーネント)
- Hive
Account: hadoop
- MetaStore (マスターコンポーネント)
//Starts a component. 最大メモリーを大きくするには、HADOOP_HEAPSIZE 環境変数をより大きな値に設定できます。 HADOOP_HEAPSIZE=512 /usr/lib/hive-current/bin/hive --service metastore >/var/log/hive/metastore.log 2>&1 &
- HiveServer2 (マスターコンポーネント)
//Starts a component. HADOOP_HEAPSIZE=512 /usr/lib/hive-current/bin/hive --service hiveserver2 >/var/log/hive/hiveserver2.log 2>&1 &
- MetaStore (マスターコンポーネント)
- HBase
運用アカウント : hdfs
注 : 以下の例は HBase サービスをベースとしています。 対応する設定なしでコンポーネントを起動するとエラーが発生します。
- HMaster (マスターコンポーネント)
//Starts a component. /usr/lib/hbase-current/bin/hbase-daemon.sh start master //Restarts a component. /usr/lib/hbase-current/bin/hbase-daemon.sh restart master //Stops a component. /usr/lib/hbase-current/bin/hbase-daemon.sh stop master
- HRegionServer (コアコンポーネント)
//Starts a component. /usr/lib/hbase-current/bin/hbase-daemon.sh start regionserver //Restarts a component. /usr/lib/hbase-current/bin/hbase-daemon.sh restart regionserver //Stops a component. /usr/lib/hbase-current/bin/hbase-daemon.sh stop regionserver
- ThriftServer (マスターコンポーネント)
//Starts a component. /usr/lib/hbase-current/bin/hbase-daemon.sh start thrift -p 9099 >/var/log/hive/thriftserver.log 2>&1 & //Stops a component. /usr/lib/hbase-current/bin/hbase-daemon.sh stop thrift
- HMaster (マスターコンポーネント)
- Hue
アカウント : hadoop
//Starts a component. su -l root -c "${HUE_HOME}/build/env/bin/supervisor >/dev/null 2>&1 &" //Stops a component. ps aux | grep hue //Lists information about the currently running Hue processes. kill -9 huepid //Kills the Hue process by its PID.
- Zeppelin
アカウント : hadoop
//Starts a component. 最大メモリーを大きくするには、HADOOP_HEAPSIZE 環境変数をより大きな値に設定できます。 su -l root -c "ZEPPELIN_MEM=\"-Xmx512m -Xms512m\" ${ZEPPELIN_HOME}/bin/zeppelin-daemon.sh start" //Stops a component. su -l root -c "${ZEPPELIN_HOME}/bin/zeppelin-daemon.sh stop"
- Presto
Account: hadoop
- PrestoServer (マスターコンポーネント)
//Starts a component. /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/coordinator-config.properties start //Stops a component. /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/coordinator-config.properties stop
- (コアコンポーネント)
//Starts a component. /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/worker-config.properties start //Stops a component. /usr/lib/presto-current/bin/launcher --config=/usr/lib/presto-current/etc/worker-config.properties stop
- PrestoServer (マスターコンポーネント)
CLI を使用してコンポーネントに対する一括操作を実行
すべてのワーカー (コア) ノードに一括操作を実行するスクリプトコマンドを記述します。 EMR クラスターでは、SSH を使用してマスターノードから hadoop アカウントと hdfs アカウントで実行されるすべてのワーカーノードにアクセスできます。
for i in `seq 1 10`;do ssh emr-worker-$i /usr/lib/hadoop-current/sbin/yarn-daemon.sh stop nodemanager;done