动态扩容、节点上线
节点上线: 之一HDFS集群容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的DataNode节点,俗称动态扩容、节点服役
Step 1 : 新机器基础环境的准备
Step 2 : Hadoop配置
- 修改namenode节点workers配置文件,增加新节点主机名,便于后续一件启停
- 从namenode节点复制hadoop节点,需要注意的是不包括hadoop.tmp、tmp.dir指定的数据存储目录
- 新机器记得配置hadoop环境变量
Step 3 : 手动启动DateNode节点
hdfs --daemon start datanode
查看是否启动成功
jps

显然启动成功
Step 4 : WebUi查看是否已经添加成功

显然已经添加成功
Step 5 : DataNode 负载均衡
动态缩容、节点下线
- 节点下线: 服务器需要进行退役更换,需要在当下的集群中停止某些机器上的datanode的服务。俗称动态缩容、节点退役
Step 1 : 添加退役节点
- 在namenode机器的hdfs-site.xml配置文件中需要提前配置dfs.hosts.exclude属性,该属性指向的文件就是所谓的黑名单列表,会被namenode排除在集群之外,如果文件内容为空,则意味着不禁止任何机器
- 提前配置好的目的是让namenode启动的时候就能够加载到该属性,只不过没有指定任何机器。否则就需要重启namenode才能加载,因此这样的操作我们称之为具有前瞻的性操作
<property>
<name>dfs.hosts.excludename>
<value>/opt/module/hadoop-3.3.1/etc/hadoop/excludesvalue>
property>
在进行此操作之前查看各个节点的状态:

我们需要配置文件,讲不需要的节点填进去,这里将hadoop135节点下线,只需要在上述文件中加入hadoop135节点名称然后进行刷新即可。
Step 2 : 刷新集群
hdfs dfsadmin -refreshNodes
然后再查看UI:

发现135节点已经下线
Step 3 :关闭节点
hdfs --daemon stop datanode
HDFS集群黑、白名单机制
白名单
- 所谓的白名单指的是允许那些机器加入到当前的HDFS集群中,是一种准入机制
- 白名单由dfs.hosts参数指定,改参数位于hdfs-site.xml。默认为空
- dfs.hosts指向文件,该文件包括允许连接到namenode的主机列表,必须指定文件的完整路径名,如果该值为空,则允许所有主机准入
黑名单
- 所谓的黑名单指的是禁止那些机器加入到当前的HDFS集群中,是一种禁入机制
- 黑名单由hdfs.hosts.exclude参数指定,改参数位于hdfs-site.xml。默认为空
- dfs.hosts.exclude指向文件,该文件包含不允许连接到名称节点的主机列表。必须指定文件的完整路及名称。如果该值为空,则不仅指任何主机加入