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主從複製集群