Reputation: 15128
I want to bring down a single datanode and tasktracker, so that some new changes that i've made in my mapred-site.xml take effect, such as mapred.reduce.child.java.opts etc. How do I do that? However I don't want to bring down the whole cluster since i have active jobs running.
Also, how can that be done ensuring that the namenode does not copy the relevant data blocks of a "temporarily down" datanode onto another node
Upvotes: 15
Views: 49200
Reputation: 883
In Hadoop 2.7.2, tasktracker is long gone, to manually restart services out on slaves:
yarn-daemon.sh stop nodemanager
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
yarn-daemon.sh start nodemanager
Upvotes: 10
Reputation: 1729
To stop
You can stop the DataNodes and TaskTrackers from NameNode's hadoop bin directory.
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
So this script checks for slaves file in conf directory of hadoop to stop the DataNodes and same with the TaskTracker.
To start
Again this script checks for slaves file in conf directory of hadoop to start the DataNodes and TaskTrackers.
./hadoop-daemon.sh start tasktracker
./hadoop-daemon.sh start datanode
Upvotes: 15
Reputation: 15128
Ssh into the datanode/tasktracker machine and cd into the bin directory of hadoop.
Invoke
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
./hadoop-daemon.sh start datanode
./hadoop-daemon.sh start tasktracker
I'm not sure if restarting the tasktracker is required for the changes in mapred-site.xml to take effect. Please leave a comment so that i can correct my answer if needed
Upvotes: 4