【大数据之Hadoop】二十八、生产调优-HDFS集群扩容及缩容

  增加或缩减服务器,注意不允许白名单和黑名单同时出现同一个主机。

1 服役新服务器

  原有数据节点不能满足数据存储需求时,需要在原有集群的基础上动态增加节点,即动态增加服务器,增加服务器的同时不需要重启集群。

  hadoop完全分布式集群设置了3个datanode节点,当白名单里只配置了2台主机时,在hdfs系统中显示datanode还是有3个节点的原因:

  白名单只限制哪些机器可以作为DataNode加入到集群中,但是这只是一个限制条件,并不会阻止DataNode节点向NameNode注册。因为配置了3个DataNode节点,即使其中某些节点不在白名单中,它们仍然会向NameNode注册并成为集群的一部分。开发时注意如果某个DataNode节点不在白名单中,则在设置白名单时,需要在配置文件中将该节点的IP地址添加到白名单中,以确保它不会被误删或误配置。

  根据上述原因需要一台新的主机hadoop105进行测试。
环境准备
(1)在hadoop100主机上克隆一台hadoop105主机。
(2)修改ip地址和主机名,然后重启。

vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/hostname
reboot

(3)在hadoop102拷贝/opt/module和/etc/profile.d/my_env.sh到hadoop105。

scp -r module/* liaoyanxia@hadoop105:/opt/module/
sudo scp /etc/profile.d/my_env.sh root@hadoop105:/etc/profile.d/my_env.sh

(4)在hadoop105让环境变量生效,并且删除Hadoop历史数据即data、logs文件。

source /etc/profile
rm -rf data/ logs/

(5)配置在hadoop102和hadoop103到hadoop105的ssh免密登录。

ssh-copy-id hadoop105

(6)在hadoop105直接启动DataNode,单点启动hdfs和yarn,可关联到集群。

hdfs --daemon start datanode
yarn --daemon start nodemanager

在这里插入图片描述

2 添加白名单

  白名单:在白名单的主机IP可以访问集群,用于存储数据。
  不在白名单上的主机可以访问集群,但是不能存储数据。配置白名单可以一定程度上防止黑客攻击。
在这里插入图片描述
配置白名单步骤:
(1)在NameNode节点的hadoop-3.3.1/etc/hadoop创建whitelist和blacklist文件,白名单whitelist中添加主机名称102、103、104,黑名单为空白。

touch blacklist

(2)在hdfs-site.xml配置文件中增加dfs.hosts配置参数。

<!-- 白名单 -->
<property>
     <name>dfs.hosts</name>
     <value>/opt/module/hadoop-3.3.1/etc/hadoop/whitelist</value>
</property>

<!-- 黑名单 -->
<property>
     <name>dfs.hosts.exclude</name>
     <value>/opt/module/hadoop-3.3.1/etc/hadoop/blacklist</value>
</property>

(3)分发whitelist,hdfs-site.xml,重启集群,如果不是第一次添加白名单只需要刷新NameNode节点就可以。

xsync hdfs-site.xml whitelist blacklist

(4)在web查看DataNode,http://hadoop102:9870/dfshealth.html#tab-datanode,只有在白名单的主机节点。
在这里插入图片描述
(5)在hadoop105上传数据失败(不在白名单的主机可以访问集群,但是不能存储数据)

hadoop fs -put test105.txt /

在这里插入图片描述
(6)把hadoop105加到白名单上,分发白名单,刷新NameNode(接1 服役新服务器)

vim whitelist   然后添加 hadoop105
xsync whitelist
hdfs dfsadmin -refreshNodes

在这里插入图片描述
(7)在hadoop105上传文件。

hadoop fs -put test105.txt /

在这里插入图片描述
在这里插入图片描述
  在hadoop105提交任务,则必然显示105,因为就近原则选择节点距离最近的,先选择本地,也就是105的距离为0,别的节点距离为1。

  当前存在一个情况:hadoop105数据少,别的节点数据多,即数据不均衡问题。

3 服务器间数据均衡

  可能出现两种情况:经常在某些节点上提交任务,由于本地原则,导致这些节点的数据过多,别的节点存储数据量小;新服役的服务器数据量较少。这两种情况需要执行集群均衡命令。

  PS:由于HDFS需要启动单独的Rebalance Server来执行Rebalance操作,所以尽量不要在NameNode上执行start-balancer.sh,而是找一台比较空闲的机器。
在这里插入图片描述
  开启数据均衡命令,参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%(也就是任何两个节点的数据都不超过10%),可根据实际情况进行调整:

sbin/start-balancer.sh -threshold 10

停止数据均衡命令:

sbin/stop-balancer.sh

4 黑名单退役服务器

  黑名单:黑名单里的主机不能用来存储数据,企业设置黑名单用于退役服务器。
在这里插入图片描述
(1)在blacklist文件中添加要退役节点:hadoop105。且hdfs-site.xml中有黑名单的配置参数:

<!-- 黑名单 -->
<property>
     <name>dfs.hosts.exclude</name>
     <value>/opt/module/hadoop-3.3.1/etc/hadoop/blacklist</value>
</property>

(2)分发blacklist和hdfs-site.xml,第一次添加黑名单需要重启集群,否则只用刷新NameNode节点。

xsync blacklist hdfs-site.xml
hdfs dfsadmin -refreshNodes

(3)检查Web浏览器,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块(退役节点的副本)到其他节点。
在这里插入图片描述
(4)等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。

hdfs --daemon stop datanode
yarn --daemon stop nodemanager

(5)如果数据不均衡,可以用命令实现集群的再平衡。

sbin/start-balancer.sh -threshold 10
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值