文档章节

Hadoop2.6集群动态添加和删除数据节点

aibati2008
 aibati2008
发布于 2016/03/09 17:51
字数 698
阅读 813
收藏 5

     开始之前,应该把所有新增数据节点上的Hadoop环境都配置好(如果要直接复制已经存在节点的hadoop文件夹,应该删掉里面已经产生的集群数据,比如tmp和data目录,不然会出问题)

 

Step1:关闭新加入数据节点的防火墙。

Step2:在各个节点上把新增节点的hosts信息补充完整

Step3:在两个NameNode上,打通向新增数据节点无密钥SSH登录的通道。

Step4:在两个NameNode上的dfs.hosts指定的白名单文件中追加上所有新增的数据节点的hostname,需要更改下hdfs-site.xml,黑名单文件用于排除集群中的节点

 

        <property>
                <name>dfs.hosts</name>
                <value>/usr/hadoop/etc/hadoop/datanode-allow.list</value>
        </property>
        <property>
                <name>dfs.hosts.exclude</name>
                <value>/usr/hadoop/etc/hadoop/datanode-deny.list</value>
        </property>

 

Step5:在namenode上执行如下刷新命令:hdfs dfsadmin -refreshNodes

          可通过hdfs dfsadmin -report或者master:50070 web端口查看当前集群节点状态

Step6:在两个NameNode节点上,更改slaves文件,将要上线的数据节点hostname追加到slaves文件中。在slave上启动datanode和nodemanager进程:

sbin/hadoop-daemon.sh start datanode

sbin/yarn-daemon.sh start nodemanager

用新增节点用jps查看进程,可在master节点通过yarn node -list查看集群情况

Step7均衡block(非必须,根据集群情况设定)

./bin/start-balancer.sh

1) 如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率
2) 设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长

hdfs balancer -threshold 5

3) 设置balance的带宽,默认只有1M/s

hdfs dfsadmin -setBalancerBandwidth 67108864


 

 

数据节点的删除和上述步骤类似,只不过在master1上修改datanode-allow.list和datanode-deny.list,还有slaves文件并且同步到master2上。整个操作的过程中都不涉及集群的重启~等待刷新的操作结束后,需要下架的机器就可以安全的关闭了。

[root@master  hadoop]# ./bin/ hdfs dfsadmin -refreshNodes
[root@master  hadoop]# ./bin/ hadoop dfsadmin -report

可以查看到现在集群上连接的节点

正在执行Decommission,会显示:
Decommission Status : Decommission in progress  

执行完毕后,会显示:
Decommission Status : Decommissioned

 

 

 

重新加入各个删除的节点

1,在master的datanode-deny.list删除相应机器

2,在master上刷新节点配置情况:

hadoop dfsadmin -refreshNodes  

3,在slave上重启tasktracker进程:

hadoop-daemon.sh start datanode

PS:如果之前没有关闭该slave上的datanode进程,需要先关闭再重新启动。


 

© 著作权归作者所有

共有 人打赏支持
aibati2008
粉丝 13
博文 82
码字总数 60908
作品 0
成都
技术主管
分布式任务调度组件--Uncode-Schedule

基于zookeeper+spring task/quartz的分布式任务调度组件,确保所有任务在集群中不重复,不遗漏的执行。支持动态添加和删除任务。 功能概述 基于zookeeper+spring task/quartz的分布任务调度系...

冶卫军
2015/05/29
10.7K
10
liuht777/uncode-scheduler

uncode-schedule 基于Spring Task + Zookeeper的分布式任务调度组件,非常小巧,使用简单,只需要引入jar包。不需要单独部署服务端。确保所有任务在集群中不重复,不遗漏的执行。支持动态添加...

liuht777
2017/10/26
0
0
uncode/uncode-schedule

uncode-schedule 基于zookeeper的分布式任务调度组件,非常小巧,使用简单,只需要引入jar包,不需要单独部署服务端。确保所有任务在集群中不重复,不遗漏的执行。支持动态添加和删除任务。 ...

uncode
2015/05/27
0
0
搭建spark on yarn集群全过程

搭建spark on yarn集群全过程 Mz的博客2016-03-24225 阅读 大数据SparkHadoopYarn 机器配置 在VMware上创建4个虚拟机来搭建集群。其中一个master,三个salve。 每台虚拟机配置1G内存,1核CPU...

Mz的博客
2016/03/24
0
0
hazelcast高可用性详解

Elastic Memory(弹性内存) Hazelcast 默认存储分布式数据(map entries, queue items)在可以进行GC的java heep中。由于你的heep越来越大,进行GC时可能导致你的应用暂停服务10秒,因此影响...

hzyu
2013/10/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
5
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
24
4

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部