Je veux faire tomber un seul datanode et tasktracker, de sorte que certaines nouvelles modifications que j'ai apportées à mon mapred-site.xml prennent effet, comme mapred.reduce.child.Java.opts etc. Comment faire? Cependant, je ne veux pas faire tomber l'ensemble du cluster car j'ai des travaux actifs en cours.
En outre, comment cela peut-il être fait en s'assurant que le namenode ne copie pas les blocs de données pertinents d'un datanode "temporairement arrêté" sur un autre nœud
Pour arrêter
Vous pouvez arrêter les DataNodes et TaskTrackers à partir du répertoire hadoop bin de NameNode.
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
Donc, ce script vérifie le fichier esclaves dans le répertoire conf de hadoop pour arrêter les DataNodes et même avec le TaskTracker.
Pour commencer
Encore une fois, ce script vérifie le fichier esclaves dans le répertoire conf de hadoop pour démarrer les DataNodes et TaskTrackers.
./hadoop-daemon.sh start tasktracker
./hadoop-daemon.sh start datanode
Dans Hadoop 2.7.2, tasktracker a disparu depuis longtemps, pour redémarrer manuellement les services sur les esclaves:
yarn-daemon.sh stop nodemanager
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
yarn-daemon.sh start nodemanager
Ssh dans la machine datanode/tasktracker et cd dans le répertoire bin de hadoop.
Invoquer
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
./hadoop-daemon.sh start datanode
./hadoop-daemon.sh start tasktracker
Je ne sais pas si le redémarrage du tasktracker est requis pour que les modifications dans mapred-site.xml prennent effet. Veuillez laisser un commentaire afin que je puisse corriger ma réponse si nécessaire