Hadoop集群hdfs添加磁盤操作
目前的環境是cdh。服務器部署在Azure;一台cdhmaster(一個namenode,一個datanode),四台cdhslave節點(各一個datanode)。
hdfs現狀:
首先是在Azure控制台對每台服務器添加一塊磁盤(我這添加的是4T)
在到服務器中對每台服務器進行添加磁盤操作:
因為在Linux中,常用2種分區表:
MBR
分區表(即主引導記錄)
所支持的最大分區:2T,而且對分區有限制:最多4個主分區或3個主分區加一個擴展分區 [fdisk
命令操作]GPT
分區表(即GUID分區表)
是源自EFI標准的一種較新的磁盤分區表結構的標准,與MBR分區方式相比,具有如下優點:突破MBR 4個主分區限制,每個磁盤最多支持128個分區。支持大於2T的分區,最大可達18EB。 [parted
命令操作]
使用 parted 建立大小超過2T的分區
磁盤默認在每台服務器上為 /dev/sde
parted /dev/sde
可以輸入p打印磁盤信息,查看分區的情況,找到起始和結束位置。mklabel gpt
設置分區類型為gptmkpart primary 0% 100%
primary指分區類型為主分區,0是分區開始位置,100%是分區結束位置。相同的命令為:mkpart primary 0-1
或者是:mkpart primary 0 XXXXXX
結束的空間print
打印當前分區,查看分區設置是否正確quit
完成后用quit命令退出。mkfs.ext4 /dev/sde1
格式化磁盤,這里用ext4
格式。mkdir /data3
&&mount /dev/sde1 /data3/
vim /etc/fstab
修改fstab,磁盤自動掛載。blkid
命令查看磁盤uuid。在fstab追加到末尾行UUID=a29c4966-019e-4a76-befb-221cdad95aef /data3 ext4 defaults 0 0
hdfs擴容操作
1. 首先在每一個分區的掛載目錄[/data3]新建子目錄/dfs/dn,如mkdir -p /data3/dfs/dn
2. 然后修改dn目錄的權限:chown -R hdfs:hadoop /data3/dfs/dn
這樣hdfs才能使用該目錄(每一個分區都要新建/dfs/dn)
打開cloudera manager
在datanode
添加目錄/data3/dfs/dn
找到“高級”,在右邊的datanode卷選擇策略中,選擇“可用空間”,這樣,后面的兩個屬性(“10G字節”和“0.75”)就會發揮作用,用於平衡各個卷中空間使用。
重啟每個datanode
保存以上配置,然后重啟hdfs,即可將hdfs擴容。