白名单:
一般情况:
白名单表示在白名单里的主机ip地址可用,即可以用来存储数据
企业中:
配置白名单,可以尽量防止黑客的恶意访问攻击
需求(bdc112、bdc113、bdc114):#1、创建白名单
[lqs@bdc112 hadoop]$ vim whitelist
#添加以下主机名称
bdc112
bdc113
#2、创建黑名单
[lqs@bdc112 hadoop]$ touch blacklist #这里创建是后面要用的,这里暂时不用添加东西
setup2:在hdfs-site.xml配置文件中添加如下内容
<property>
<name>dfs.hostsname>
<value>/home/lqs/module/hadoop-3.1.3/etc/hadoop/whitelistvalue>
property>
<property>
<name>dfs.hosts.excludename>
<value>/home/lqs/module/hadoop-3.1.3/etc/hadoop/blacklistvalue>
property>
setup3:分发配置文件 white,hdfs-site.xml
[lqs@bdc112 hadoop]$ xsync hdfs-site.xml whitelist
setup4:这里要注意,如果是第一次添加白名单必须要重启集群。如果不是,只需要刷新NameNode节点即可
[lqs@bdc112 hadoop-3.1.3]$ myhadoop.sh stop
[lqs@bdc112 hadoop-3.1.3]$ myhadoop.sh start
setup5:在web浏览器上查看DN,http://bdc112:9870/dfshealth.html#tab-datanode[lqs@bdc112 hadoop]$ vim whitelist
#修改成如下的样子即可
bdc112
bdc113
bdc114
setup7:刷新NameNode
[lqs@bdc112 hadoop-3.1.3]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
setup8:在浏览器上查看DN,http://bdc112:9870/dfshealth.html#tab-datanode
随着开发业务的增长需求,数据量越来越大,原有的数据服务器的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。
[root@bdc115 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@bdc115 ~]# vim /etc/hostname
3、拷贝bdc112的/home/lqs/module目录和/etc/profile.d/my_env.sh到bdc115
[lqs@bdc112 ~]$ scp -r module/* lqs@bdc115:/home/lqs/module/
[lqs@bdc112 ~]$ sudo scp /etc/profile.d/my_env.sh root@bdc115:/etc/profile.d/my_env.sh
[lqs@bdc115 hadoop-3.1.3]$ source /etc/profile
4、删除bdc115上Hadoop的历史数据,data和log数据
[lqs@bdc115 hadoop-3.1.3]$ rm -rf data/ logs/
5、配置bdc112和bdc113到bdc115的ssh无密登录
[lqs@bdc112 .ssh]$ ssh-copy-id bdc115
[lqs@bdc113 .ssh]$ ssh-copy-id bdc115
[lqs@bdc115 hadoop-3.1.3]$ hdfs --daemon start datanode
[lqs@bdc115 hadoop-3.1.3]$ yarn --daemon start nodemanager
[lqs@bdc112 hadoop]$ vim whitelist
修改为如下内容
bdc112
bdc113
bdc114
bdc115
2、分发
[lqs@bdc112 hadoop]$ xsync whitelist
3、刷新NameNode
[lqs@bdc112 hadoop-3.1.3]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
[lqs@bdc115 hadoop-3.1.3]$ hadoop fs -put /home/lqs/module/hadoop-3.1.3/LICENSE.txt /
[lqs@bdc115 hadoop-3.1.3]$ sbin/start-balancer.sh -threshold 10
#对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。
#注意,这里的参数最低也最好设置在10往上,因为太低了就没有意义了(这里和块大小有关系),但也不要太高了,太高了就失去了均衡的意义了
[lqs@bdc115 hadoop-3.1.3]$ sbin/stop-balancer.sh
#注意:由于HDFS需要启动单独的Rebalance Server来执行Rebalance操作,所以尽量不要在NameNode上执行start-balancer.sh,而是找一台比较空闲的机器。
说明:
黑名单:
在黑名单中的主机ip地址不可以用来存储数据
企业中:
通常是配置黑名单来退役服务器
## 黑名单配置步骤如下:
1、编辑/home/lqs/module/hadoop-3.1.3/etc/hadoop目录下的blacklist文件
#注意,这里在前面创建白名单时就已经创建黑名单了
[lqs@bdc112 hadoop]$ vim blacklist
#添加如下主机名称(要退役的节点)
#bdc112
注意:如果白名单中没有配置,需要在hdfs-site.xml配置文件中增加dfs.hosts配置参数,如果配置了,这里可以忽略此步骤
<property>
<name>dfs.hosts.excludename>
<value>/home/lqs/module/hadoop-3.1.3/etc/hadoop/blacklistvalue>
property>
2、分发配置文件blacklist,hdfs-site.xml
[lqs@bdc114 hadoop]$ xsync hdfs-site.xml blacklist
3、第一次添加黑名单必须重启集群,不是第一次,只需要刷新NameNode节点即可
[lqs@bdc112 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
4、检查Web浏览器,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块到其他节点[lqs@bdc115 hadoop]$ hdfs --daemon stop datanode
stopping datanode
[lqs@bdc115 hadoop]$ yarn --daemon stop nodemanager
stopping nodemanager
6、如果数据不均衡,可以用命令实现集群的再平衡
[lqs@bdc112 hadoop]$ sbin/start-balancer.sh -threshold 10