天天看點

HDFS新增節點與删除節點(9)

        随着公司業務的增長,資料量越來越大,原有的資料節點的容量已經不能滿足存儲資料的需求,需要在原有叢集基礎上動态添加新的資料節點。是以,本篇部落格小菌為大家帶來的是HDFS新增節點與删除節點的内容。

準備新節點

1:複制一台新的虛拟機出來

2:修改mac位址以及IP位址

3:關閉防火牆,關閉selinux

4:更改主機名

5:四台機器更改主機名與IP位址映射

6:node04伺服器關機重新開機并生成公鑰與私鑰

7:node04安裝jdk

8:解壓Hadoop安裝包

9:将node01關于Hadoop的配置檔案全部拷貝到node04

服役新節點具體步驟

1.建立dfs.hosts檔案

2.node01編輯hdfs-site.xml添加以下配置

3.重新整理namenode

4.更新resourceManager節點

5.namenode的slaves檔案增加新服務節點主機名稱

6.單獨啟動新增節點

7.浏覽器檢視

8.使用負載均衡指令,讓資料均勻負載所有機器

退役舊資料節點

1.建立dfs.hosts.exclude配置檔案

2.編輯namenode所在機器的hdfs-site.xml

3.重新整理namenode,重新整理resourceManager

4.檢視web浏覽界面

5.節點退役完成,停止該節點程序

6.從include檔案中删除退役節點

7.從namenode的slave檔案中删除退役節點

8.如果資料負載不均衡,執行以下指令進行均衡負載

9.再次檢查浏覽器

        将我們純淨的虛拟機(裸機)複制一台出來,作為我們新的節點。

        修改mac位址指令

        <code>vim /etc/udev/rules.d/70-persistent-net.rules</code>

        修改ip位址指令

        <code>vim /etc/sysconfig/network-scripts/ifcfg-eth0</code>

        關閉防火牆

        <code>service iptables stop</code>

        關閉selinux

        <code>vim /etc/selinux/config</code>

        更改主機名為node04

        <code>vim /etc/sysconfig/network</code>

        四台機器都要添加hosts檔案

        <code>vim /etc/hosts</code>

        node04伺服器因為改過主機名,是以需要先重新開機使之生效

        <code>reboot</code>

        node04執行以下指令生成公鑰與私鑰

        <code>ssh-keygen</code>

        node04執行以下指令将node04的私鑰拷貝到node01伺服器

        <code>ssh-copy-id node01</code>

        node01執行以下指令,将authorized_keys拷貝給node04

        <code>cd /root/.ssh/</code>

        <code>scp authorized_keys node04:$PWD</code>

        為了友善管理,node04需要統一兩個路徑

        <code>mkdir -p /export/softwares/</code>

        <code>mkdir -p /export/servers/</code>

        然後解壓jdk安裝包,配置環境變量,或将叢集中的java安裝目錄拷貝一份,并配置環境變量。

        在node04伺服器上面解壓Hadoop安裝包到/export/servers

        node01執行以下指令将Hadoop安裝包拷貝到node04伺服器

        <code>cd /export/softwares/</code>

        <code>scp hadoop-2.6.0-cdh5.14.0-自己編譯後的版本.tar.gz node04:$PWD</code>

        node01執行以下指令,将Hadoop的配置檔案全部拷貝到node04伺服器上面

        <code>cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/scp ./* node04:$PWD</code>

        在node01也就是namenode所在的機器的/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目錄下建立dfs.hosts檔案

添加如下主機名稱(包含新服役的節點)

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

        node01執行以下指令重新整理namenode

        node01執行以下指令重新整理resourceManager

        node01編輯slaves檔案,并添加新增節點的主機,更改完後,slaves檔案不需要分發到其他機器上面去

        node01執行以下指令編輯slaves檔案,slave 檔案中記錄的節點在叢集啟動時會進行啟動。

        在node04伺服器執行以下指令,啟動datanode和nodemanager

        重新開機叢集後,打開浏覽器通過url檢視

        <code>http://xxxx:50070/dfshealth.html#tab-overview</code>

        或

        <code>http://xxxx:8088/cluster</code> 【xxxx為namenode節點的ip】

        效果如下,發現叢集中多了一個節點說明新增成功!

HDFS新增節點與删除節點(9)

        在node01上執行以下指令:

        在namenod的cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目錄下建立dfs.hosts.exclude檔案,并添加需要退役的主機名稱

        node01執行以下指令

        編輯namenode所在的機器的hdfs-site.xml配置檔案,添加以下配置

        在namenode所在的機器執行以下指令,重新整理namenode,重新整理resourceManager

        浏覽器通路

        <code>http://xxxx:50070/dfshealth.html#tab-datanode</code>【xxxx為namenode所在節點的ip】

HDFS新增節點與删除節點(9)

        等待退役節點狀态為decommissioned(所有塊已經複制完成),停止該節點及節點資料總管。注意:如果副本數是3,服役的節點小于等于3,是不能退役成功的,需要修改副本數後才能退役。

HDFS新增節點與删除節點(9)

        node01執行以下指令,停止該節點程序

        namenode所在節點也就是node01執行以下指令删除退役節點

        namenode所在節點也就是node01執行以下指令重新整理namenode和resourceManager

        namenode所在機器也就是node01執行以下指令從slaves檔案中删除退役節點

       &amp;nbspnode01執行以下指令進行均衡負載

我們再次打開浏覽器檢視Hadoop的節點情況,發現node04節點已經成功被删除!

HDFS新增節點與删除節點(9)

        本次的分享就到這裡了,小夥伴們有什麼疑惑或好的建議可以積極在評論區留言,小菌後續還會推出HDFS系列的其他内容,希望大家持續關注小菌ヾ(๑╹◡╹)ノ"!

  HDFS系列精彩内容回顧:

《HDFS檔案系統介紹(1)》

《HDFS檔案讀寫流程(2)》

《HDFS特性及缺點分析(3)》

《HDFS的進階指令使用——檔案限額配置(4)》

《HDFS的安全模式與檔案權限檢驗(5)》

《HDFS中Fsimage,Edits詳解(6)》

《HDFS中SecondaryNamenode工作原理(7)》

《HDFS中namenode故障恢複(8)》

《HDFS的shell常用指令大全》