4. 運用手順¶
4.1. HDFSクラスタを起動する¶
本項では、High Availability(自動フェイルオーバー)によるHadoopの2回目以降の起動方法について説明します。
初回起動時は 初期設定 および 動作確認 を参照してください。
(1)マスター・ノード(SPARK1)でHadoopを起動します。
$ start-dfs.sh
(2)Namenodeの状態を確認します。
$ hdfs haadmin -getServiceState namenode1
active
$ hdfs haadmin -getServiceState namenode2
standby
以上でHadoopの起動は完了です。 Hadoopを停止する場合は、 HDFSクラスタを停止する をご参照ください。
4.2. HDFSクラスタを停止する¶
griddataユーザで実施します。
(1)マスター・サーバ(SPARK1)にてHDFSを停止します。
$ stop-dfs.sh
以上でHDFSの停止手順は完了です。
4.3. Sparkクラスタを起動する¶
本項では、クラスタの各マシンごとにSparkを起動する方法について説明します。 各作業はgriddataユーザで実施します。
(1)マスター・サーバ(SPARK1)でSparkのマスターを起動します。
$ $SPARK_HOME/sbin/start-master.sh
(2)スタンバイを行うサーバ(例:SPARK2)でSparkのマスターを起動します。
$ $SPARK_HOME/sbin/start-master.sh
(3)各サーバでSparkのスレーブを起動します。
$ $SPARK_HOME/sbin/start-slave.sh spark://SPARK1:7077,SPARK2:7077
以上でSparkクラスタの起動は完了です。
4.5. ZooKeeperを停止する¶
ZooKeeperの停止手順は以下の通りです。
(1)ZooKeeperを停止します。各サーバでそれぞれ実行します。
$ zkServer.sh stop
以上でZooKeeperの停止は完了です。
注釈
ZooKeeperはHDFSのNameNodeやSparkのマスターを二重化し、 HA(High Availability)の構成を行う際の管理用ソフトフェアです。 そのため、HDFSやSparkが起動した状態でZooKeeperを停止することは避けてください。
4.6. クラスタのノードを縮退する¶
本項では各ノードの縮退手順について、SPARK3のノードを縮退する場合を例に説明します。 各作業はgriddataユーザーで行います。
■ 縮退の前準備
(1)hosts.excludeの修正
SPARK1(マスター・ノード)にログインし、エクスクルードファイル($HADOOP_HOME/conf/hosts.exclude)を作成します。 エクスクルードファイルがない場合、新たにファイルを作成してください。 hosts.excludeを開き、次のように縮退対象となるノード名(例:SPARK3)を記載します。
SPARK3
(2)hdfs-site.xmlの修正
この作業はLake Serverをインストールした全てのマシン上で行います。
HDFSの設定ファイル($HADOOP_HOME/conf/hdfs-site.xml)を確認・編集します。
hdfs-site.xmlを開き、HDFSのレプリケーション数のパラメーターの設定値(dfs.replication)を確認します。 もし、縮退したあとのDataNode数よりも大きな値になっている場合、縮退したあとのDataNode数以下の値に修正してください。 なお、dfs.replicationが記述されていない場合、デフォルト値の3となります。
■ Spark/HDFSノードを縮退させる
(1)HDFSクラスタに設定を反映する
マスター・ノード(SPARK1)にて、以下のようにノードのリフレッシュを行います
$ hadoop dfsadmin -refreshNodes
縮退するノード(SPARK3)にログインし、以下のようにDataNodeを停止します
$ hadoop-daemon.sh stop datanode
(2)Spark Workerを停止する
縮退するノード(SPARK3)にログインし、以下のようにSparkのWorkerを停止します。
$ $SPARK_HOME/sbin/stop-slave.sh
以上で縮退処理は完了です。
4.7. クラスタのノードを復帰する¶
本項では各ノードの復帰手順について、SPARK3のノードを復帰する場合を例に説明します。
■ 復帰の前準備
SPARK1にgriddataユーザーでログインをしたのち、 エクスクルードファイル($HADOOP_HOME/conf/hosts.exclude)内にあるSPARK3という記述を削除し、エクスクルードファイルの内容を空にします。
■ HDFSクラスタに設定を反映する
マスター・ノード(SPARK1)にて、エクスクルードファイルの編集結果を反映するため、次のようにしてHDFSのリフレッシュを行います。
$ hadoop dfsadmin -refreshNodes
■ DataNodeの復帰
復帰するノード(SPARK3)にてgriddataユーザーでログインをし、 次のようにDataNodeを起動し、また起動ができたことをプロセスから確認します。
$ hadoop-daemon.sh start datanode
$ jps
(中略)
XXX DataNode
■ Sparkの起動
SPARK3でSparkを起動します。
$ $SPARK_HOME/sbin/start-slave.sh spark://SPARK1:7077,SPARK2:7077
以上でノードの復帰処理は完了です。
4.8. クラスタのノードを増設する¶
本項ではノードの増設手順について、ホスト名SPARK4、IPアドレスが10.0.0.4のマシンをスレーブサーバとして増設する場合を例に説明します。
各作業はgriddataユーザで行います。
(1)ホスト名とIPの登録
Lake Serverの全てのマシンにて、 以下のコマンドを実行し、ホスト名とIPアドレスを各マシンに登録します。
$ sudo echo '10.0.0.4 SPARK4' >> /etc/hosts
(2)hosts.includeの更新
Lake Serverの全てのマシンにて、インクルードファイル($HADOOP_HOME/conf/hosts.include)を開き、 次のように各マシンのホスト名を追記します
SPARK1
SPARK2
SPARK3
SPARK4
(2)slavesの更新
Lake Serverの全てのマシンにて、新たなスレーブサーバのホスト名を、 HadoopとSparkの設定ファイル(slaves)に登録します。
$ echo 'SPARK4' >> $HADOOP_HOME/conf/slaves
$ echo 'SPARK4' >> $Spark_HOME/conf/slaves
(3)DataNodeの起動
SPARK4にて以下のコマンドを実行します
$ hadoop-daemon.sh start datanode
(4)SparkのWorkerの起動
$ $SPARK_HOME/sbin/start-slave.sh spark://SPARK1:7077,SPARK2:7077
以上でノードの増設は完了です。
4.9. クラスタの特定のノードを除外する¶
本項ではノードの除外手順について、SPARK4のノードを除外する場合を例に説明します。
あらかじめ degenerate-node を元に、ノードの縮退を行ってください。
(1)hosts.include、hosts.excludeの更新
SPARK4を除く全てのLake Serverにて、$HADOOP_HOME/confにある インクルードファイル(hosts.include)とエクスクルードファイル(hosts.exclude)からSPARK4の記述を削除します。
(2)slavesの更新
HadoopとSparkの設定ファイル($HADOOP_HOME/conf/slaves、$Spark_HOME/conf/slaves)から、 SPARK4の記述を削除します。
■ ノードのリフレッシュ
マスター・ノードにて以下のコマンドを実行し、ノードのリフレッシュを行います。
$ hadoop dfsadmin -refreshNodes
以上でノードの除外処理は完了です。
4.10. 各プロセスを個別に起動・停止する¶
本項では、GridData Lake Server上で動作する 個別のプロセスの起動と停止方法について紹介します。各作業はgriddataユーザで行ってください。
■ DataNodeの起動
マスター・ノード、スレーブ・ノード共通です。
$ hadoop-daemon.sh start datanode
■ DataNodeの停止
マスター・ノード、スレーブ・ノード共通です。
$ hadoop-daemon.sh stop datanode
■ HDFSの起動
マスター・サーバでのみ実行します。
$ start-dfs.sh
■ HDFSの停止
マスター・サーバでのみ実行します。
$ stop-dfs.sh
■ Sparkの起動
スレーブ・ノードの場合は以下のコマンドを実行します。
# su - griddata
$ $SPARK_HOME/sbin/start-slave.sh spark://SPARK1:7077
マスター・ノードの場合は以下のコマンドを実行します。
$ $SPARK_HOME/sbin/start-master.sh
■ Sparkの停止
スレーブ・ノードの場合は以下のコマンドを実行します。
$ $SPARK_HOME/sbin/stop-slave.sh
マスター・ノードの場合は以下のコマンドを実行します。
$ $SPARK_HOME/sbin/stop-master.sh
4.11. Fluentdサーバを起動・停止・再起動する¶
- Fluentdサーバを起動する
以下のコマンドを実行します。
$ service flentd-server start
- Fluentdサーバを停止する
以下のコマンドを実行します。
$ service flentd-server stop
- Fluentdサーバを再起動する
以下のコマンドを実行します。
$ service flentd-server restart
4.12. Embulkサーバを起動・停止・再起動する¶
- Embulkサーバを起動する
以下のコマンドを実行します。
$ service embulk-server start
- Embulkサーバを停止する
以下のコマンドを実行します。
$ service embulk-server stop
- Embulkサーバを再起動する
以下のコマンドを実行します。
$ service embulk-server restart