天天看點

DataNode(面試開發重點3)

5 退役舊資料節點

讓DateNode退役有兩種方式:

一,白名單

二,黑名單

可以通過白名單來添加節點,通過黑名單來删除節點

不允許白名單和黑名單中同時出現同一個主機名稱

添加白名單

添加到白名單的主機節點,都允許通路NameNode,不在白名單的主機節點,都會被退出。

配置白名單的具體步驟如下:

(1)在NameNode的/opt/module/hadoop-2.7.2/etc/hadoop目錄下建立dfs.hosts檔案

cd /opt/module/hadoop-2.7.2/etc/hadoop
vim ./dfs.hosts      

添加如下主機名稱(不添加hadoop105)

hadoop102
hadoop103
hadoop104      

(2)在NameNode的hdfs-site.xml配置檔案中增加dfs.hosts屬性

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

(3)重新整理NameNode

hdfs dfsadmin -refreshNodes      

Refresh nodes successful

(4)在web浏覽器上檢視

如果資料不均衡,可以用指令實作叢集的再平衡

在hadoop102上

start-balancer.sh      

黑名單退役

在黑名單上面的主機都會被強制退出。

1.在NameNode的/opt/module/hadoop-2.7.2/etc/hadoop目錄下建立dfs.hosts.exclude檔案

cd /opt/module/hadoop-2.7.2/etc/hadoop
vim ./dfs.hosts.exclude      

添加如下主機名稱(要退役的節點)

hadoop105      

2.在NameNode的hdfs-site.xml配置檔案中增加dfs.hosts.exclude屬性

vim ./hdfs-site.xml      

添加以下内容

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

3.重新整理NameNode

hdfs dfsadmin -refreshNodes      

Refresh nodes successful

4.檢查Web浏覽器,退役節點的狀态為decommission in progress(退役中),說明資料節點正在複制塊到其他節點

美[ˌdiːkəˈmɪʃn] 正式停止使用(武器、核電站等)      

5.等待退役節點狀态為decommissioned(所有塊已經複制完成),停止該節點及節點資料總管。

注意:如果副本數是3,服役的節點小于等于3,是不能退役成功的,需要修改副本數後才能退役

hadoop-daemon.sh stop datanode      
start-balancer.sh       

繼續閱讀