在线客服
扫描二维码
下载博学谷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集群动态扩容讲解的全部内容,如果你还想更加深入的学习相关内容,可以报名博学谷的大数据课程,在线学习相关视频课程,还有在线讲师一对一为你答疑解惑!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据培训有哪些课程?
近年来大数据发展得如火如荼,许多小伙伴都加入了大数据学习的大军,大数据培训有哪些课程?成了大家谈论的话题,不管是自学大数据技术还是参加大数据培训,都要有一个好的学习方法和科学的大数据学习课程,我今天就把博学谷大数据培训课程分享给大家,希望对想要学习大数据技术的小伙伴能有所帮助。
8283
2019-07-05 13:09:48
大数据专业学习难度大吗?需要学习什么技术?
众所周知,大数据专业是目前互联网行业中高薪岗位之一。然而看到高薪的机会,大部分同学立刻行动投入大数据专业的学习中,也有一部分同学发表自己的疑问:大数据专业这样高薪是否学习难度非常大?如果从事大数据专业工作,需要学习什么技术呢?
13297
2019-09-02 19:04:37
HDFS安全模式学习总结
众所周知,安全模式是HDFS所处的一种特殊状态,今天我们要来梳理一下关于HDFS安全模式的学习总结,主要内容包括安全模式概述、安全模式配置以及安全模式命令。下面赶紧开始吧~
4439
2020-06-05 17:05:28
深度学习工程师必须掌握的神经网络架构
深度学习工程师必须掌握的神经网络架构,神经网络架构分为四大类:标准网络、递归网络、卷积网络、自动编码器。神经网络可以用来可视化的数据包含两部分:每一层神经元的输出,它们对应输入数据在网络中的不同表示每个神经元所学习到的权重,刻画着各个神经元的行为,即如何对输入进行响应的。
5888
2020-07-01 17:34:28
入行大数据学习路线分享 学习不迷路
入行大数据学习路线分享 学习不迷路,想要从事大数据技术开发工作请问要怎么做,学习路线是什么?从哪里开始学?学哪些?对于想学大数据的人群有诸多的疑问,大数据本质上是海量数据。以往的数据开发,需要一定的Java基础和工作经验,门槛高入门难。如果零基础入门数据开发行业的小伙伴可以从Python语言入手。
2683
2022-02-18 11:06:17