Hadoop日記Day4---去除HADOOP_HOME is deprecated

sunddenly發表於2014-09-15

去除hadoop執行時的警告

1. 檔hadoop執行時,我們會看到如下圖1.1所示的警告。

image

圖 1.1

2. 雖然不影響程式執行,但是看到這樣的警告資訊總是覺得自己做得不夠好。一步步分析,先看一下啟動指令碼start-all.sh的原始碼,執行命令cd  /usr/local/hadoop/bin目錄下,執行命令more start-all.sh,指令碼start-all.sh的原始碼如下圖1.2所示。

image

圖 1.2

3. 雖然我們看不懂shell指令碼的語法,但是可以猜到可能和檔案hadoop-config.sh有關,我們再看一下這個檔案的原始碼。該檔案特大,我們只擷取最後一部分,見下圖1.3所示。

image

圖 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所示。

image

圖 1.4

6. 儲存退出,再次啟動hadoop,就不會出現警告資訊了,如下圖1.5所示。

image

圖 1.5

相關文章