問題描述:最近公司來了一批200G左右的數(shù)據(jù)弄砍,因為以前的測試機器都是隨便搭的隔箍,內(nèi)存不夠,所以要擴充HDFS的存儲空間
操作環(huán)境:hyper-v梅尤,centos6.7 ,內(nèi)核版本4.4.113-1.el6.elrepo.x86_64
此文檔實在偽分布式操作系統(tǒng)上操作的岩调,實際的集群擴容類似
一巷燥,新增硬盤
1.保證你的虛擬機處于關(guān)機狀態(tài)
2.右鍵->選擇“設(shè)置”
3.選擇“IDE控制器”-->“硬盤驅(qū)動器”-->“添加”
4.點擊“新建”
5.選擇“VHDX(H)”下一步
6.選擇“動態(tài)擴展”
7,根據(jù)現(xiàn)場情況選擇“名稱和位置”
8号枕,根據(jù)現(xiàn)場情況設(shè)置新增硬盤的大小-->“下一步”---->“完成”
二缰揪,對新增硬盤分區(qū),掛載
1.連接到虛擬機輸入命令 fdisk –l 找到自己新增的硬盤
2. 進入磁盤葱淳,對磁盤進行分區(qū)輸入命令fdisk +磁盤名稱
3.輸入“n”新建分區(qū)----à輸入“p”創(chuàng)建主分區(qū)-----à輸入“1”設(shè)置扇區(qū)默認從1開始----à根據(jù)現(xiàn)場情況輸入扇區(qū)的結(jié)束位置(我這里把整個硬盤做一個分區(qū)直接回車)---à輸入“w”回車钝腺,保存(如果要把整個硬盤掛載到某個目錄可以不分區(qū))
4.輸入fdisk –l 查看硬盤是否分區(qū)成功(Disk identifier:標識不為0x00000000即為分區(qū)成功)
5.格式化分區(qū)輸入命令mkfs.ext4??+分區(qū)名稱(例如要格式化/dev/sdb1的命令為:mkfs.ext4?? /dev/sdb1 )
6.掛載分區(qū)輸入命令mount+分區(qū)名稱+掛載目錄(例如要把/dev/sdb1掛載到 /mnt/cdrom目錄下的命令為:mount /dev/sdb1? /mnt/cdrom)
7檢查分區(qū)是否掛載成功,輸入df –h 如掛載成功如下圖所示
三.擴容datanode存儲目錄
1.連接到datanode所在的服務(wù)器赞厕,找到datanode的存儲目錄
(可從cloudera manager上HDFS下的datanode節(jié)點的配置中找到datanode的存儲目錄艳狐,這里的是/dfs/dn)
2.關(guān)掉集群服務(wù)
3.在新掛載磁盤的目錄中新建跳板目錄mkdir /new
4. 將新建的分區(qū)掛載到新建的目錄上mount /dev/sdb1 /new
5.將hdfs中存儲數(shù)據(jù)的目錄復(fù)制到新建的跳板中cp -R /dfs/dn/* ?/new
6.解除掛載umount /new
7. rm -rf /dfs/dn/*
? ? ? ####可選,主要為了騰出空間給原來的硬盤
8. 將新磁盤掛載到HDFS中數(shù)據(jù)的存儲目錄mount /dev/sdb1 /dfs/dn(此時你會的發(fā)現(xiàn)之前的/dfs/dn目錄文件已經(jīng)全部轉(zhuǎn)移過來了)
9. 刪除跳板目錄,rm -rf /new (等待/dfs/dn目錄數(shù)據(jù)恢復(fù)之后再刪除)
10.將目錄從新授權(quán)給HDFS角色皿桑,chown -R hdfs:hdfs /dfs/dn/ (一定要記得授權(quán)毫目,否則datanode會讀取文件失敗)
11.設(shè)置開機自動掛載(vim /etc/fstab)
在/etc/fstab文件的后面添加/dev/sdb1?????????????? /dfs/dn???????????????? ext4??? defaults??????? 0 0
12. 檢查開機掛載是否配置成功
13.重啟服務(wù)打開/etc/fstab文件
查看最后一行是否為仍是/dev/sdb1?????????????? /dfs/dn???????????????? ext4??? defaults??????? 0 0若是則說明開機自動掛載設(shè)置成功