去除hadoop執行時的警告
1. 檔hadoop執行時,我們會看到如下圖1.1所示的警告。
圖 1.1
2. 雖然不影響程式執行,但是看到這樣的警告資訊總是覺得自己做得不夠好。一步步分析,先看一下啟動指令碼start-all.sh的原始碼,執行命令cd /usr/local/hadoop/bin目錄下,執行命令more start-all.sh,指令碼start-all.sh的原始碼如下圖1.2所示。
圖 1.2
3. 雖然我們看不懂shell指令碼的語法,但是可以猜到可能和檔案hadoop-config.sh有關,我們再看一下這個檔案的原始碼。該檔案特大,我們只擷取最後一部分,見下圖1.3所示。
圖 1.3
4. 從圖中的黑色框框中可以看到,指令碼判斷變數HADOOP_HOME_WARN_SUPPRESS和HADOOP_HOME的值,如果前者為空,後者不為空,則顯示警告資訊“Warning……”。所以是,我們在安裝hadoop時,設定了環境變數HADOOP_HOME造成的。
5. 網上有的說新的hadoop版本使用HADOOP_INSTALL作為環境變數,我還沒有看到原始碼,並且擔心其他框架與hadoop的相容性,所以暫時不修改,那麼只好設定HADOOP_HOME_WARN_SUPPRESS的值了。
修改配置檔案/etc/profile(我原來一直在這裡設定環境變數,作業系統是rhel6.3),增加環境變數HADOOP_HOME_WARN_SUPPRESS,如下圖1.4所示。
圖 1.4
6. 儲存退出,再次啟動hadoop,就不會出現警告資訊了,如下圖1.5所示。
圖 1.5