Hadoop - перезапустить datanode и tasktracker

Я хочу сбить один datanode и tasktracker, так что некоторые новые изменения, которые я сделал в моем файле mapred-site.xml, вступили в силу, например, mapred.reduce.child.java.opts и т.д. Как мне сделай это? Однако я не хочу сбивать весь кластер, так как у меня активная работа.

Кроме того, как это можно сделать, гарантируя, что namenode не копирует соответствующие блоки данных "временно вниз" datanode на другой node

Ответ 1

Чтобы остановить

Вы можете остановить DataNodes и TaskTrackers из каталога bino из binNode.

./hadoop-daemon.sh stop tasktracker 
./hadoop-daemon.sh stop datanode

Таким образом, этот script проверяет файл slaves в каталоге conf hasoop, чтобы остановить DataNodes и то же самое с TaskTracker.

Чтобы запустить

Снова этот script проверяет файл slaves в каталоге conf hasoop для запуска DataNodes и TaskTrackers.

./hadoop-daemon.sh start tasktracker
./hadoop-daemon.sh start datanode

Ответ 2

В Hadoop 2.7.2 Tasktracker давно ушел, чтобы вручную перезапустить службы на подчиненных устройствах:

yarn-daemon.sh stop nodemanager
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
yarn-daemon.sh start nodemanager

Ответ 3

Ssh в машину datanode/tasktracker и cd в каталог bin of hadoop.

Вызвать

./hadoop-daemon.sh stop tasktracker

./hadoop-daemon.sh stop datanode

./hadoop-daemon.sh start datanode

./hadoop-daemon.sh start tasktracker

Я не уверен, что для изменения изменений в mapred-site.xml требуется перезапуск Tasktracker. Пожалуйста, оставьте комментарий, чтобы я мог исправить свой ответ, если нужно