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擴容。
