退役旧节点

 1)在namenode的/opt/module/hadoop-2.7.2/etc/hadoop目录下创dfs.hosts.exclude文件

添加如下主机名称(要退役的节点)

hadoop109

2)在namenode的hdfs-site.xml配置文件中增加dfs.hosts.exclude属性

<property>

<name>dfs.hosts.exclude</name>

      <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>

</property>

3)刷新namenode、刷新resourcemanager

17/06/24 14:55:56 INFO client.RMProxy: Connecting to ResourceManager at hadoop103/192.168.1.103:8033

4)检查web浏览器,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块到其他节点。

5)等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役。·

 

现在转到退役节点

转到NAMENODE节点

6)从include文件中删除退役节点,再运行刷新节点的命令

(1)从namenode的dfs.hosts文件中删除退役节点hadoop109

hadoop106

hadoop107

hadoop108

(2)刷新namenode,刷新resourcemanager

7)从namenode的slave文件中删除退役节点hadoop109

hadoop106

hadoop107

hadoop108

8)集群分发

 

 

成功退役

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

[atguigu@hadoop106 hadoop-2.7.2]$ sbin/start-balancer.sh

starting balancer, logging to /opt/module/hadoop-2.7.2/logs/hadoop-atguigu-balancer-hadoop102.out

Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved

 

### HDFS 中静态和动态添加或删除节点的方法 #### 静态添加或删除节点 在 HDFS 的静态模式下,可以通过编辑 `hdfs-site.xml` 文件中的 `dfs.hosts` 和 `dfs.hosts.exclude` 属性来实现节点的添加或移除。 1. **添加新节点** 将新的 DataNode 主机名或 IP 地址添加到 `dfs.hosts` 文件中,并确保该文件路径已在 `hdfs-site.xml` 中指定。例如: ```xml <property> <name>dfs.hosts</name> <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value> </property> ``` 修改完成后,重启整个集群以使更改生效[^3]。 2. **退役节点** 若要退役某个 DataNode,则需将其主机名或 IP 地址写入 `dfs.hosts.exclude` 文件中,并同样确保此文件路径已配置于 `hdfs-site.xml` 中。例如: ```xml <property> <name>dfs.hosts.exclude</name> <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value> </property> ``` 接下来,在 NameNode 上运行以下命令触发平衡器并开始退役过程: ```bash hdfs dfsadmin -refreshNodes ``` 此外,可以监控退役状态通过以下命令查看进度: ```bash hdfs dfsadmin -report | grep Decommission ``` 当退役完成之后,可安全关闭对应的 DataNode 并从网络环境中移除它[^1]。 #### 动态添加或删除节点 对于动态管理场景,无需频繁重启集群即可实时更新节点列表。这依赖于定期调用刷新接口让 NameNode 加载最新的配置变更。 1. **动态添加节点** 同样是在 `dfs.hosts` 文件追加目标机器条目后立即通知 NameNode 更新其内部映射表: ```bash hdfs dfsadmin -refreshNodes ``` 2. **动态删除节点** 类似地,只需把待移除设备记录至 `dfs.hosts.exclude` 列表里再执行上述相同指令即刻生效[^2]。 #### 调整副本数后的处理流程 当调整 HDFS 默认副本数量时,可能会影响到某些文件的数据分布情况。因此建议先确认当前存储状况后再做进一步动作以免丢失重要资料。 假设需要减少某特定目录下的复制因子为例,可用如下方式设定较低值: ```bash hdfs dfs -setrep -w 2 /path/to/directory/ ``` 这里 `-w` 参数表示等待直到所有块都达到期望级别为止才返回成功标志。 随后按照前述方法安排好计划内的硬件维护工作比如服务器退役或者重新接入现有架构之中去满足业务需求变化的要求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值