大数据—Hadoop(二十)_ 生产调优手册_03、HDFS(3)_集群扩容及缩容

发布于:2022-11-13 ⋅ 阅读:(892) ⋅ 点赞:(0)

1、添加白名单

1.1 概念

白名单中的主机IP地址,都可以用来存储数据,白名单之外的主机,都无法访问Hadoop集群

在这里插入图片描述

企业中一般会配置白名单,可以防止黑客攻击

1.2 第一次配置白名单

  1. 在NameNode节点的/opt/module/hadoop-3.1.3/etc/hadoop目录下分别创建whitelist 和blacklist文件
[atguigu@hadoop102 hadoop]$ vim whitelist
[atguigu@hadoop102 hadoop]$ touch blacklist
[atguigu@hadoop102 hadoop]$ pwd
/opt/module/hadoop-3.1.3/etc/hadoop
  1. 先在白名单中添加主机
hadoop102
hadoop103
  1. 配置hdfs-site.xml,告知集群白名单和黑名单路径
<!-- 白名单 -->
<property>
     <name>dfs.hosts</name>
     <value>/opt/module/hadoop-3.1.3/etc/hadoop/whitelist</value>
</property>

<!-- 黑名单 -->
<property>
     <name>dfs.hosts.exclude</name>
     <value>/opt/module/hadoop-3.1.3/etc/hadoop/blacklist</value>
</property>
  1. 分发配置文件whitelist,hdfs-site.xml
[atguigu@hadoop104 hadoop]$ xsync hdfs-site.xml whitelist
  1. 第一次添加白名单需要重启集群,不是第一次,只需要刷新NameNode节点
[atguigu@hadoop102 hadoop-3.1.3]$ myhadoop.sh stop
[atguigu@hadoop102 hadoop-3.1.3]$ myhadoop.sh start

1.3 结果

web页面上显示hadoop104没有启动
在这里插入图片描述
jps发现hadoop104进程还在

[atguigu@hadoop102 hadoop]$ jpsall
=============== hadoop102 ===============
74721 JobHistoryServer
73031 DataNode
72534 NameNode
74249 NodeManager
=============== hadoop103 ===============
45089 ResourceManager
44851 DataNode
45398 NodeManager
=============== hadoop104 ===============
59024 NodeManager
58901 SecondaryNameNode
58742 DataNode

使用hadoop104上传文件

[atguigu@hadoop104 hadoop-3.1.3]$ hadoop fs -put NOTICE.txt / 
2022-11-01 09:54:27,825 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

可以上传文件,但不能存储数据,hadoop104上面没有副本
在这里插入图片描述
在这里插入图片描述

1.4 第二次配置白名单

修改白名单,加入hadoop104

[atguigu@hadoop102 hadoop]$ vim whitelist

修改为如下内容

hadoop102
hadoop103
hadoop104

刷新NameNode

[atguigu@hadoop102 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful

1.5 结果

web页面上显示hadoop104启动了
在这里插入图片描述
可以用来存储数据
在这里插入图片描述

2、服役新服务器(扩容)

2.1 需求

在不重启集群的情况下,新增服务器

2.2 环境准备

  1. 在hadoop100主机上克隆一台hadoop105主机,相当于是一台新服务器

在这里插入图片描述在这里插入图片描述

  1. 修改IP地址和主机名称
[root@hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@hadoop100 ~]# vim /etc/hostname
  1. 将hadoop、jdk拷贝到105
[atguigu@hadoop102 hadoop]$ scp -r /opt/module/hadoop-3.1.3/ atguigu@hadoop105:/opt/module/
[atguigu@hadoop102 hadoop]$ scp -r /opt/module/jdk1.8.0_212/ atguigu@hadoop105:/opt/module/
  1. 拷贝环境变量
[atguigu@hadoop102 hadoop]$ sudo scp /etc/profile.d/my_env.sh root@hadoop105:/etc/profile.d/my_env.sh
  1. 在hadoop105服务器上source,让环境变量生效
[atguigu@hadoop105 ~]$ source /etc/profile
[atguigu@hadoop105 ~]$ jps
37395 Jps
  1. 删除hadoop105上Hadoop的历史数据,data和log数据
[atguigu@hadoop105 hadoop-3.1.3]$ rm -rf data/ logs/
  1. hadoop105免密登录
[atguigu@hadoop102 ~]$ cd ~
[atguigu@hadoop102 ~]$ cd .ssh/
[atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop105

2.3 服役新集群步骤

单节点启动105

[atguigu@hadoop105 hadoop-3.1.3]$ hdfs --daemon start datanode
[atguigu@hadoop105 hadoop-3.1.3]$ yarn --daemon start nodemanager

在这里插入图片描述

在白名单whitelist中增加hadoop105

[atguigu@hadoop102 hadoop]$ vim whitelist

修改为如下内容

hadoop102
hadoop103
hadoop104
hadoop105

分发配置

[atguigu@hadoop102 hadoop]$ xsync whitelist

刷新NameNode

[atguigu@hadoop102 hadoop-3.1.3]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful

2.4 结果

在hadoop105上上传文件
在这里插入图片描述

[atguigu@hadoop105 hadoop-3.1.3]$ hadoop fs -put wc.jar /
2022-11-01 13:54:43,771 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

目前情况下,服务器之间数据不均匀,hadoop105数据少,其他节点数据多

3、服务器间数据均衡

3.1 需求

如果我们经常在hadoop102和hadoop104上提交任务,且副本数为2,由于数据本地性原则,就会导致hadoop102和hadoop104数据过多,hadoop103存储的数据量较小
或者是新服役一台hadoop105时,新服务器的数据量会比较少

3.2 配置命令

[atguigu@hadoop105 hadoop-3.1.3]$ sbin/start-balancer.sh -threshold 10

尽量找一台没有NameNode节点的空闲机器执行该命令
10表示各个磁盘的使用容量差值不能超过10%
在这里插入图片描述
图中hadoop102和hadoop103差值为90%
停止数据均衡命令

sbin/stop-balancer.sh

4、黑名单退役服务器(缩容)

4.1 概念

  1. 在黑名单上的IP不可以访问集群,也不可以用于存储数据
  2. 黑名单的管控力度没有白名单强,只能保证黑名单上的几台服务器无法访问
  3. 保证服务器退役后,服务器上的副本可以拷贝到其他集群

4.2 配置

  1. 退役105
[atguigu@hadoop102 hadoop]$ cd /opt/module/hadoop-3.1.3/etc/hadoop
[atguigu@hadoop102 hadoop] vim blacklist
hadoop105
  1. hdfs-site.xml
<!-- 黑名单 -->
<property>
     <name>dfs.hosts.exclude</name>
     <value>/opt/module/hadoop-3.1.3/etc/hadoop/blacklist</value>
</property>
  1. 分发配置文件blacklist,hdfs-site.xml
[atguigu@hadoop102 hadoop]$ xsync hdfs-site.xml blacklist
  1. 第一次添加黑名单必须重启集群,不是第一次,只需要刷新NameNode节点
[atguigu@hadoop102 hadoop-3.1.3]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful

4.3 结果

先变成 decommission in progress(退役中),数据正在备份到其他节点
在这里插入图片描述
再变成decommissioned(所有块已经复制完成)
在这里插入图片描述

等10分钟30秒后服务器真正退役
如果数据不均衡,可以用命令实现集群的再平衡

[atguigu@hadoop102 hadoop-3.1.3]$ sbin/start-balancer.sh -threshold 10

网站公告

今日签到

点亮在社区的每一天
去签到