hadoop学习【13】——hadoop2动态添加节点

前言】因为一个需求需要测试算法的可伸缩性,即需要测试不同规模的集群,算法的运行情况,因此我就试着去动态往正在运行的集群中添加节点,然后摸索着发现也没那么难,很简单的一件事情其实,下面简单的记录了一下,希望对大家有所帮助!

在hadoop集群中,HDFS分布式文件系统和mapreduce计算框架是可以独立部署安装的,在hadoop2中体现的也是非常明显的,如果需要只使用部分结点进行计算,那么可以采用的方法如下:

         集群的分布式存储系统HDFS可以独立部署使用,MR计算框架可以选择性的部署安装,只需要单独启动resourcemanager和需要使用的结点上的nodemanager即可,查找命令可以参考/hadoop2/sbin/start-yarn.sh中是如何写的就可以找到答案了!

         在hadoop2/sbin/start-yarn.sh脚本中,写了启动resourcemanager和所有节点上的nodemanager,所以只需要参考该脚本文件,就能得到启动单个节点上的nodemanager的方法:

从第30行开始为启动resourcemanager的脚本命令,从中可以看到,单独启动resourcemanager和nodemanager是在yarn-daemon.sh脚本中,使用start + 要启动的进程即可。

如果是这种需求的话就要注意了,在启动集群的时候不要使用start-yarn.sh脚本来启动resourcemanager,这样的话每个结点的nodemanager都会被启动!

【注】这种情况下所谓的使用部分结点进行计算是仅开启部分nodemanager,如果不能满足需求的话,那就是另一种情况了,就是动态的增加节点!

下面介绍下如何动态的添加结点(注意一般是不会出现动态的减少结点的,这样的话会打乱HDFS上已经存在的文件,是的分布式计算受影响,而增加节点后只需要执行下集群HDFS的负载均衡即可,这样对文件系统不会有影响。

增加结点的步骤(集群本身是运行状态):

集群状态描述(自动HA配置)
namenode两台:nn1   nn2

zookeeper集群:d1、d2、d3

journalnode:d4、d5、d6

运行中的datanode:d1、d2、d3

 

需要添加的datanode:d4、d5

修改nn1上的slaves文件,将d4、d5添加进文件中,然后使用scp命令将slaves文件分发到其余的节点的对于位置,然后再在d4和d5节点上单独启动datanode和journalnode:

hadoop2/sbin/hadoop-daemon.sh startdatanode

hadoop2/sbin/yarn-daemon.sh startjournalnode

然后执行下集群HDFS的负载均衡即可完成动态添加节点了!

命令:

hadoop2/bin/hdfsbalancer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值