當前位置:
首頁 > 最新 > Hadoop集群datanode磁碟擴容小記

Hadoop集群datanode磁碟擴容小記

------本節內容-------

1. 關閉服務掛載磁碟

1.1 關閉服務

1.2 新增磁碟

1.3 掛載磁碟

2 . 數據拷貝

3. 修改配置文件

3.1 修改hdfs-site.xml

3.2 覆蓋原有hdfs-site.xml

3.3 重啟服務

4. 數據均衡

5. 參考資料

------------------------------

隨著線上業務數據的持續接入,最近發現生產集群存儲空間嚴重不夠,初步斷定是集群存儲資源不足導致,通過日誌和各種主要表現 1) 提交的任務不能正常執行,2)datanodes剩餘空間不足,都只有1G不到,甚至幾十M,3)通過命令去各個節點查看容量空間也是明顯100%的爆滿。因此擴容閑的當務之急。 為了不影響線上業務,需要進行平滑的擴容,一台台的自己點關機,好在集群規模不是很大,手動操作也很快。生產之前,測試環境下,先折騰一遍,因此本篇演示一下測試環境是如何進行磁碟擴容,實際操作和這個大同小異(添加磁碟的方式不一樣,其他都一樣)。

1.關閉服務掛載磁碟

1.1 關閉服務

子節點上主要掛載了三種類型的服務,DataNode、Worker、NodeManager,

因此關機之前,先單獨關閉這三個服務

關閉 DataNode:$HADOOP_HOME/sbin/hadoop-daemon.sh stop datanode

關閉 NodeManager:$HADOOP_HOME/sbin/yarn-daemon.sh stop nodemanager

關閉 Worker:$SPARK_HOME/sbin/stop-slave.sh

關閉 RegionServer:$HBASE_HOME/bin/hbase-daemon.sh stop regionserver

關機命令:shutdown now

1.2 掛載磁碟

本次擴容準備在測試環境中用一塊大點的磁碟,並且將數據目錄與根目錄分離出來(之前測試環境沒有分離,導致磁碟爆滿,連任務都提交不了),因此決定在測試環境新增一塊磁碟,而不是擴展原有磁碟。擴容前只有一塊200G的磁碟

1)添加磁碟

2)一直點擊下一步把,注意2點,1是磁碟類型我選了SATA,2.磁碟保存路徑,配置好後開機

1.3掛載磁碟

1)查看新增的磁碟盤路徑

命令:fisk -l

查看得知新增磁碟路徑是:/dev/sdb

前面新增了400G磁碟,冒出429.5GB出來,不知道是什麼原因

2)給新增磁碟分區

1)/dev/sdb進入parted分區模式

parted /dev/sdb

備註:如果磁碟類型不是gtp類型,則要改成gpt類型,執行命令

mklabel gpt

否則會報錯,

2).增加分區,全部容量做一個主分區

mkpart primary 0 -1

備註:查看分區:p,刪除分區:rm 序列號,中間出現的warning選擇Ignore就可以。

輸入命令:p,查看剛剛增加的分區,增加成功,退出來:quit

3).格式化新增分區sdb1

a.查看一下dev下有沒有sdb1,

命令:ls -l /dev/sd*

b.格式化分區

命令:mkfs.ext4 /dev/sdb1

這個需要花點時間,耐心等待

4)掛載磁碟

a.先建立掛載目錄

命令:

mkdir -p /data/disk01

chown hadoop:hadoop /data/disk01

b.掛載目錄

一次性掛載

命令:mount /dev/sdb1 /data/disk01

開機自動掛載(生產中使用這個命令)

命令:

vi/etc/fstab

/dev/sdb1 /data/disk01ext4 defaults 0 3

檢查fstab是否配置成功

命令:mount -a

重啟後,查看

命令:df -h

2.數據拷貝

將該數據節點保存在hdfs上的數據拷貝到新磁碟

命令:mv /usr/local/hadoop/opt/hadoop/data/hdfs/data s /data/disk01/hdfs

這個比較消耗時間,

我這裡是直接原來的磁碟的數據都拷貝到新的磁碟,原來的磁碟不再存放數據了

3.修改配置文件

3.1 修改hdfs-site.xml

1)修改配置文件

原來是

------------

file:///usr/local/hadoop/opt/hadoop/data/hdfs/data

------------

修改後

------------

file:///data/disk01/hdfs

------------

3.2覆蓋原有hdfs-site.xml

1).覆蓋hbase下的hdfs-site.xml

cp hdfs-site.xml /usr/local/tdr_hadoop/hbase/hbase-1.1.2/conf/

2).覆蓋spark下的hdfs-site.xml

cp hdfs-site.xml $SPARK_HOME/conf/

3.3.重啟服務

DataNode:$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode

NodeManager:$HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager

Worker:$SPARK_HOME/sbin/start-slave.sh

4.數據均衡

$Hadoop_home/bin/start-balancer.sh

會有這樣的日誌,表示正在執行負載均衡,查看日誌

命令:tail -f hadoop-hadoop-balancer-master02.log

等待幾個小時,最後可以查看Web UI,前台是否均衡了。

5.參考資料

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 大數據梅峰谷 的精彩文章:

TAG:大數據梅峰谷 |

您可能感興趣

docker zookeeper 集群搭建
Grafana+Telegraf+Influxdb監控Tomcat集群方案
ganglia集群版搭建(支持hadoop和spark)
SpringCloud實現Eureka集群配置
大規模集群下的Hadoop NameNode
如何為Kafka集群選擇合適的Topic/Partitions數量
tomcat集群和session共享
如何使用Rancher 2.0在Kubernetes集群上部署Istio
Tomcat集群實現Session共享
redis單點、主從、哨兵sentinel,集群cluster配置使用
如何在本地數據中心安裝Service Fabric for Windows集群
滴滴Elasticsearch多集群架構實踐
使用Kubespray部署生產可用的Kubernetes集群
scrapydweb:實現 Scrapyd 集群管理,Scrapy 日誌分析和可視化
SpringCloud如何實現Eureka集群、HA機制?
Keepalived+LVS+nginx搭建nginx高可用集群
Docker環境下搭建DNS LVS(keepAlived) OpenResty伺服器簡易集群
用戶吐槽 Azure Kubernetes,因其搞砸了集群!
使用 kubeadm 搭建 kubernetes1.10 集群
Docker Compose搭建MySQL主從複製集群