我想关闭一个datanode和tasktracker,以便我在mapred-site.xml中做出的一些新更改生效,例如mapred.reduce.child.java.opts等。我该怎么办?去做?但是,由于我正在运行有效的工作,所以我不想关闭整个集群。
此外,如何确保namenode不会将“临时关闭”数据节点的相关数据块复制到另一个节点上
答案 0 :(得分:12)
停止
您可以从NameNode的hadoop bin目录中停止DataNodes和TaskTrackers。
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
因此,此脚本会检查hadoop的 conf 目录中的 slaves 文件以停止DataNodes,并与TaskTracker相同。
开始
此脚本再次检查hadoop的 conf 目录中的 slaves 文件,以启动DataNodes和TaskTrackers。
./hadoop-daemon.sh start tasktracker
./hadoop-daemon.sh start datanode
答案 1 :(得分:9)
在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
答案 2 :(得分:3)
进入datanode / tasktracker机器并进入hadoop的bin目录。
调用
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh stop datanode
./hadoop-daemon.sh start datanode
./hadoop-daemon.sh start tasktracker
我不确定是否需要重新启动tasktracker才能使mapred-site.xml中的更改生效。请留下评论,以便我可以在需要时更正我的答案