Mapred.reduce.child.Java.optsなど、mapred-site.xmlで行ったいくつかの新しい変更が有効になるように、単一のデータノードとタスクトラッカーを停止したいのですが、どうすればよいですか?ただし、アクティブなジョブが実行されているため、クラスター全体を停止したくありません。
また、namenodeが「一時的にダウンした」データノードの関連データブロックを別のノードにコピーしないようにするには、どうすればよいでしょうか。
停止するには
NameNodeのhadoop binディレクトリからDataNodesとTaskTrackerを停止できます。
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
したがって、このスクリプトは、Hadoopのconfディレクトリにあるslavesファイルをチェックして、DataNodeを停止し、TaskTrackerと同じにします。
開始するには
このスクリプトでも、hadoopのconfディレクトリにあるslavesファイルをチェックして、DataNodesとTaskTrackersを起動します。
./hadoop-daemon.sh start tasktracker
./hadoop-daemon.sh start datanode
Hadoop 2.7.2では、タスクトラッカーはもうなくなっており、スレーブでサービスを手動で再起動します。
yarn-daemon.sh stop nodemanager
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
yarn-daemon.sh start nodemanager
Datanode/tasktrackerマシンにSSHでログインし、hadoopのbinディレクトリにcdします。
呼び出す
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
./hadoop-daemon.sh start datanode
./hadoop-daemon.sh start tasktracker
Mapred-site.xmlの変更を有効にするために、タスクトラッカーの再起動が必要かどうかはわかりません。必要に応じて回答を修正できるように、コメントを残してください