削除対象スレーブサーバをHadoop(HDFSとYARN)から脱退させる手順について説明します。
マスタサーバ(プライマリ)で定義ファイルを変更後、マスタサーバ(セカンダリ)に配布し、Hadoop(HDFSとYARN)から脱退させるためのコマンドを実行します。
NameNode への接続を許可しないスレーブサーバのリストを定義するファイル /etc/opt/FJSVbsb/bdpp/hadoop/dfs.excludeに削除対象スレーブサーバのホスト名を記載します。
例
slave3を削除する場合の定義例
slave3
ResourceManager への接続を許可しないスレーブサーバのリストを定義するファイル /etc/opt/FJSVbsb/bdpp/hadoop/yarn.excludeに削除対象スレーブサーバのホスト名を記載します。
例
slave3を削除する場合の定義例
slave3
1.~2.で編集したファイルをマスタサーバ(セカンダリ)にコピーします。
# scp -p /etc/opt/FJSVbsb/bdpp/hadoop/dfs.exclude root@master2:/etc/opt/FJSVbsb/bdpp/hadoop <Enter> # scp -p /etc/opt/FJSVbsb/bdpp/hadoop/yarn.exclude root@master2:/etc/opt/FJSVbsb/bdpp/hadoop <Enter>
マスタサーバ(プライマリ)で以下のコマンドを実行し、新しく定義したスレーブサーバの情報をNameNodeとResourceManagerに認識させます。
# sudo -i -u hdfs hdfs dfsadmin -refreshNodes <Enter> # sudo -i -u yarn yarn rmadmin -refreshNodes <Enter>
マスタサーバ(セカンダリ)で以下のコマンドを実行し、新しく定義したスレーブサーバの情報をResourceManagerに認識させます。
# sudo -i -u yarn yarn rmadmin -refreshNodes <Enter>
マスタサーバ(プライマリ)で以下のコマンドを実行し、HDFSからの脱退処理の完了を確認します。削除対象スレーブサーバが表示されなくなると、脱退処理は完了です。
# sudo -i -u hdfs hdfs dfsadmin -report -decommissioning <Enter>
例
脱退処理中の出力例
# sudo -i -u hdfs hdfs dfsadmin -report -decommissioning <Enter> Configured Capacity: 35609214976 (33.16 GB) Present Capacity: 35609214976 (33.16 GB) DFS Remaining: 34634522624 (32.26 GB) DFS Used: 974692352 (929.54 MB) DFS Used%: 2.74% Under replicated blocks: 75 Blocks with corrupt replicas: 0 Missing blocks: 0 Missing blocks (with replication factor 1): 0 ------------------------------------------------- Decommissioning datanodes (1): Name: 192.168.10.13:50010 (slave3) Hostname: slave3 Decommission Status : Decommission in progress Configured Capacity: 35121868800 (32.71 GB) DFS Used: 487346176 (464.77 MB) Non DFS Used: 0 (0 B) DFS Remaining: 34634522624 (32.26 GB) DFS Used%: 1.39% DFS Remaining%: 98.61% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Mon Oct 01 10:44:54 JST 2018
例
脱退処理完了時の出力例
# sudo -i -u hdfs hdfs dfsadmin -report -decommissioning <Enter> Configured Capacity: 35609214976 (33.16 GB) Present Capacity: 35609214976 (33.16 GB) DFS Remaining: 34634522624 (32.26 GB) DFS Used: 974692352 (929.54 MB) DFS Used%: 2.74% Under replicated blocks: 75 Blocks with corrupt replicas: 0 Missing blocks: 0 Missing blocks (with replication factor 1): 0 ------------------------------------------------- Decommissioning datanodes (0):
マスタサーバ(プライマリ)で以下のコマンドを実行し、YARNからの脱退処理の完了を確認します。削除対象スレーブサーバのNode-State列が「DECOMMISSIONED」となっていれば脱退処理は完了です。
# sudo -i -u yarn yarn node -list -all <Enter> Total Nodes:5 Node-Id Node-State Node-Http-Address Number-of-Running-Containers slave1:36312 RUNNING slave1:8042 0 slave2:31548 RUNNING slave1:8042 0 slave3:40140 DECOMMISSIONED slave2:8042 0 slave4:36312 RUNNING slave1:8042 0 slave5:36312 RUNNING slave1:8042 0
NameNode への接続を許可しないスレーブサーバのリストを定義するファイル /etc/opt/FJSVbsb/bdpp/hadoop/dfs.excludeから削除対象スレーブサーバのホスト名を削除します。
ResourceManager への接続を許可しないスレーブサーバのリストを定義するファイル /etc/opt/FJSVbsb/bdpp/hadoop/yarn.excludeから削除対象スレーブサーバのホスト名を削除します。
NameNode への接続を許可するスレーブサーバのリストを定義するファイル /etc/opt/FJSVbsb/bdpp/hadoop/dfs.includeから削除対象スレーブサーバのホスト名を削除します。
ResourceManager への接続を許可するスレーブサーバのリストを定義するファイル /etc/opt/FJSVbsb/bdpp/hadoop/yarn.includeから削除対象スレーブサーバのホスト名を削除します。
8.~11.で編集したファイルをマスタサーバ(セカンダリ)にコピーします。
# scp -p /etc/opt/FJSVbsb/bdpp/hadoop/dfs.exclude root@master2:/etc/opt/FJSVbsb/bdpp/hadoop <Enter> # scp -p /etc/opt/FJSVbsb/bdpp/hadoop/yarn.exclude root@master2:/etc/opt/FJSVbsb/bdpp/hadoop <Enter> # scp -p /etc/opt/FJSVbsb/bdpp/hadoop/dfs.include root@master2:/etc/opt/FJSVbsb/bdpp/hadoop <Enter> # scp -p /etc/opt/FJSVbsb/bdpp/hadoop/yarn.include root@master2:/etc/opt/FJSVbsb/bdpp/hadoop <Enter>
マスタサーバ(プライマリ)で以下のコマンドを実行し、新しく定義したスレーブサーバの情報をNameNodeとResourceManagerに認識させます。
# sudo -i -u hdfs hdfs dfsadmin -refreshNodes <Enter> # sudo -i -u yarn yarn rmadmin -refreshNodes <Enter>
マスタサーバ(セカンダリ)で以下のコマンドを実行し、新しく定義したスレーブサーバの情報をResourceManagerに認識させます。
# sudo -i -u yarn yarn rmadmin -refreshNodes <Enter>
注意
HDFSからの脱退処理では、削除対象のスレーブサーバが管理しているデータを別のスレーブサーバへ複製する処理が動作します。そのため、HDFSの脱退処理にはデータ量に応じて数時間から数日かかる場合があります。