千家信息网

hadoop2.7.1不重启如何动态删除节点和新增节点

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,小编给大家分享一下hadoop2.7.1不重启如何动态删除节点和新增节点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ha
千家信息网最后更新 2024年11月28日hadoop2.7.1不重启如何动态删除节点和新增节点

小编给大家分享一下hadoop2.7.1不重启如何动态删除节点和新增节点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

hadoop重启太麻烦了,需要暂停当前所有的任务。所以动态的删除和新增节点就很重要了。

先说动态删除节点:

(配置为可动态删除节点,这个是要重启的,以后需要动态删除节点时,就不用重启了。)进入hadoop目录的etc/hadoop/目录

1.增加excludes文件,每行写一个要删除的节点的主机名

2.在hdfs-site.xml中增加

dfs.hosts.exclude/data/hadoop/etc/hadoop/excludes

3.在mapred-site.xml中增加

mapred.hosts.exclude/data/hadoop/etc/hadoop/excludestrue

这样,如果需要删除某一节点,只需把该节点的主机名写入excludes文件,然后执行(仅在namenode上修改文件,执行命令即可)

hadoop dfsadmin -refreshNodes

查看节点状态hadoop dfsadmin -report或者web管理端页面,可以看到该节点是decomissioning状态,等它变化为decomissioned,就可以把这个节点拿掉了。拿掉后,该节点上进程还是都在的,直接kill即可。

动态新增节点:

因为我是把删除的节点重新加上,所以环境之类的就不用配置了。直接使用原来的就行。

在节点上执行,/data/hadoop/etc/hadoop/是配置文件目录,这是启动datanode

hadoop-daemon.sh --config /data/hadoop/etc/hadoop/ --script hdfs start nodemanager

然后启动nodemanager

yarn-daemons.sh --config /data/hadoop/etc/hadoop/ start nodemanager

这条命令是启动了所有slave主机的nodemanager,所以执行中会报错,其他的主机已启动。

我看有的帖子通过以下命令启动:

hadoop-daemon.sh start datanodeyarn-daemon.sh start nodemanager

我的启动了,这两个命令就不试了。朋友们测试后可以告诉我哦~(已测试过了,成功,第二种启动更合理)

然后,删除前文中的excludes文件中该节点的主机名,执行刷新操作即可。

hadoop dfsadmin -refreshNodes

至此,可以看到已经新增了该节点的datanode。

hadoop的数据的负载均衡:

执行以下命令,-threshold 5这个参数可以不写,默认是10

start-banlancer.sh -threshold 5

然后就可以查看日志了,在哪台机器上执行该命令,日志就在哪台机器上。

tail -f /data/hadoop/logs/hadoop-hadoop-balancer-hostname.log

静等均衡完毕!

以上是"hadoop2.7.1不重启如何动态删除节点和新增节点"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0