在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
今天本文要讲解的是Hadoop集群动态扩容的内容,那么什么是动态扩容呢?数据量随着公司业务的增长越来越大,原有的datanode节点的容量,已经不能满足存储数据的需求,需要在原有集群基础上,动态添加新的数据节点,这就是我们说的动态扩容。下面一起来看看基础准备、添加datanode、datanode负载均衡服务、添加nodemanager等相关内容吧~

1、基础准备
在基础准备部分,主要是设置 hadoop 运行的系统环境
修改新机器系统 hostname(通过/etc/sysconfig/network 进行修改)
[root@node-4 ~]# cat /etc/sys conf 1g/network
NE TWORKING=yes
HOS TNAME=node -4
[r oot@node-4 ~ ] #
修改 hosts 文件,将集群所有节点 hosts 配置进去(集群所有节点保持hosts文件统一)
rootenode-1 -]# cat /etc/hosts
127.0.0.1 localhost localhost. localdomain localhost4 localhost4. local domain4
: :1 localhost localhost. localdomain localhost6 localhost6. local domain6
192.168.227.151 node-1
192.168.227.152 node-2
192.168.227.153 node-3
192.168.227.154 node-4
rootenode-1 ~]#
设置 NameNode 到 DataNode 的免密码登录(ssh-copy-id 命令实现)
修改主节点 slaves 文件,添加新增节点的 ip 信息(集群重启时配合一键启动脚本使用)
[root@node-1 J]# vim /export/servers/hadoop-2 .6. 0-cdh5.14.0/etc/hadoop/s laves
node-1
node-2
node-3
node-4
在新的机器上上传解压一个新的hadoop安装包,从主节点机器上将hadoop的所有配置文件,scp到新的节点上。
2、添加datanode
在namenode所在的机器的/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop 目录下创建 dfs.hosts 文件
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim dfs.hosts
添加如下主机名称(包含新服役的节点)
node-1
node-2
node-3
node-4
在 namenode 机器的 hdfs-site.xml 配置文件中增加 dfs.hosts 属性
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop vim hdfs-site.xml
<property>
<name>dfs.hosts</name>
<value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts</value>
</property>
dfs.hosts 属性的意义:命名一个文件,其中包含允许连接到namenode的主机列表。必须指定文件的完整路径名。如果该值为空,则允许所有主机。相当于一个白名单,也可以不配置。
在新的机器上单独启动datanode:hadoop-daemon.sh start datanode
[root@node-4 ~]# hadoop-daemon.sh start datanode
starting datanode: logging to /export /servers/hadoop-2.6.0-cdh514 .0/ lops /hadoop root datanode -node-4 out
[root@node-4 ~]#
刷新页面就可以看到新的节点加入进来了

3、datanode负载均衡服务
新加入的节点,没有数据块的存储,使得集群整体来看负载还不均衡。因此最后还需要对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M,即hdfs dfsadmin -setBalancerBandwidth 67108864即可
默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们可将其设置为5%。然后启动Balancer,sbin/start-balancer.sh -threshold 5,等待集群自均衡完成即可。
4、添加nodemanager
在新的机器上单独启动 nodemanager:
yarn-daemon.sh start nodemanager

在ResourceManager,通过yarn node -list查看集群情况

以上就是Hadoop集群动态扩容讲解的全部内容,如果你还想更加深入的学习相关内容,可以报名博学谷的大数据课程,在线学习相关视频课程,还有在线讲师一对一为你答疑解惑!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据应用技术的发展方向分析
如今,大数据的应用对企业公司以及个人都产生了深远影响,本文就来预测一下大数据应用技术的发展方向。可以预见的是,数据资产管理、数据资产管理、AI驱动的数据基础设施、面向AI的分布式计算框架和数据安全这些都将成为大数据应用技术的发展方向。对大数据应用技术感兴趣的小伙伴,可以接着往下看小编的的详细分析。
7256
2019-10-29 17:24:18
如何安装Kafka?新手安装教程指导
Kafka是由Java编写的一个开源流处理平台,因为它强大的动作流数据处理功能而备受大数据开发者的欢迎。因而作为大数据的开发者,掌握Kafka也就掌握了大数据最重要的一项核心技术。本文是一篇新手入门Kafka的安装教程,下面小编将手把手结合图片详细的指导大家安装Kafka。
4717
2020-02-17 14:41:36
云计算大数据培训学什么课程?
博学谷大数据课程为具有一定编程开发经验的学员设计,从大数据基础增强开始,讲解大数据开发过程中必备的离线数据分析、实时数据分析和内存数据计算等重要内容;涵盖了大数据体系中核心技术,包含Linux、Zookeeper、Hadoop、Redis、HDFS、MapReduce、Hive、Impala、Hue、Oozie、Flink、kafka、Spark、Scala、SparkSQL、Hbase等。
8008
2020-05-13 14:42:30
学大数据需要具备什么基础和知识点?
学大数据应具备编程开发经验,今天主要介绍学大数据应具备的基础,学员从java基础开始,学习大数据开发过程中的离线数据分析、实时数据分析和内存数据计算等重要内容;涵盖大数据体系中核心技术;Linux、Zookeeper、Hadoop、Redis、HDFS、MapReduce、Hive、Impala等知识点。
5623
2020-10-12 14:33:22
大数据智能交通未来会是怎样的交通状况?
大数据智能交通未来会是怎样的交通状况?智能交通也是智慧城市的一个重要组成部分将会改变我们的交通,交通少不了大数据的处理,人工智能自动驾驶离不开大数据的支撑。
3221
2022-03-08 10:44:04
