HDFS修改儲存路徑擴容
我這兒介紹的使用場景是,在docker裡面搭建的大資料分析平臺。因為系統是裝在500GB的固態硬碟上的,所以所有的服務預設的儲存路徑都是在這500GB的盤子上,但是使用起來是遠遠不夠的,這時我們就需要將2T的機械硬碟給用上。
docker裡面的Ubuntu的系統無法直接掛載上2T的機械硬碟,辦法是:
1.首先退出這個容器。如果你在運行了這個映象後,容器內容有所改動,那麼我建議你先將改動了的容器打成新的映象,後面重新執行映象的時候用這個新映象,避免丟失資料,具體方法請自己百度。
2.退出容器之後,將2T的機械硬碟先掛載到你的物理機上。
3.然後重新執行映象,執行的時候另外加上-v引數,格式為:-v 物理機上硬碟掛載到的目錄:docker中的資料夾,其實就是將本地資料夾和docker裡面的資料夾進行對映,如果docker裡面沒有那個資料夾,那麼會自動建立,有關docker的volume知識請自己百度。
4.run成功後,啟動容器,然後進入容器,使用命令df -h檢視一下,你會發現多了一個硬碟掛載點,掛載目錄為自己設定的那個目錄。
5.如果你的大資料平臺是使用的ambari管理的,請在ambari的web端進入HDFS的config進行修改(dfs.datanode.data.dir),直接修改配置檔案hdfs-site.xml中是無效的,重啟HDFS會被ambari撤銷修改的。修改的路徑填寫你設定的docker裡面的硬碟的掛載目錄(路徑前面不要加任何字首,比如file:,我試過了,加上字首是無法生效的),修改重啟後,使用hdfs dfs -df -h檢視,也可以使用hdfs dfsadmin -report,容量增加則成功。
注意:如果重啟hdfs的時候,一直停在restart NameNode的環節上,那麼檢視日誌,可能是由於hdfs自動啟動了安全模式導致的,使用命令:hadoop dfsadmin -safemode leave,關閉安全模式之後,馬上就會重啟成功!
如果遇到了什麼問題,歡迎加QQ:553877110,我們一起討論一起成長!