1. 程式人生 > >大資料開發之Hadoop篇----hdfs dfsadmin命令

大資料開發之Hadoop篇----hdfs dfsadmin命令

今天我們來了解一下hdfs dfsadmin這個命令,前面我們已經多次使用了hdfs dfs這個命令來對hdfs上的檔案進行操作了。而是在生產上面我們還是會遇到不同的情況。今天我們簡單講解一下hdfs dfsadmin中的兩個命令,以及他們在生產當中是怎樣使用的

1,hdfs dfsadmin -report 這個命令其實是用來檢視整個hdfs的健康情況的,因為我們現在是使用cdh的版本,他已經封裝好了一個使用者檢視健康情況的web介面給你,你只需要在web上看就行了。但是,在使用apache版本的時候,我們只能將這個命令寫到一個bash腳本當中,使其定期地返回hdfs健康情況給我們看。

2,hdfs dfsadmin -safemode <enter | leave | get | wait> 安全模式  這個命令當中,我們常用的是enter和leave。首先什麼是安全模式,就是隻讀模式。所以我們一般在生產中什麼場景下使用呢?

如果我們是手工進入到這個安全模式的話,其他使用者只能讀取裡面的資料,而不能新增寫入或者修改。這個時候我們一般是生產維護的過程,比如進行資料遷移,備份等。等完事後再解除安全模式

如果是系統自動進入到安全模式的話就說明我們的hdfs可能出現問題了,這個時候我們也分為兩種操作:a,手動的輸入命令hdfs dfsadmin -safemode leave這個命令,如果能正常退回普通模式的話就沒有問題了。b,如果手工輸入命令後還是不能返回普通模式的話,說明NN節點受損了,這個時候我們要仔細第閱讀NN節點的log日誌來排查可能的問題。

我們可以看到當進入到safemode模式後,系統提示Safe mode is ON這個提示,然後我就不能put檔案上去了,當我退出以後就可以了。另外在safe模式下是可以從hadoop上面get檔案下來的,但不能moveToLocal這個中命令,你只能copy下來本地。