Warning: $HADOOP_HOME is deprecated. hadoop解決方法補充版

y_keven發表於2014-01-24

    下面的解決方案我親自試了沒有問題;可行,但是對於初學者來說肯定會有一個疑問;這個.bash_profile檔案到底在哪呢;其實很簡單:

當前使用者的.bash_profile在/home/使用者/下,系統的.bash_profile在/etc/skel目錄下; 預設可能是隱藏的;有人會問了,隱藏的我怎麼開啟它,一個簡單的辦法,直接使用vi命令開啟指定目錄下的該檔案就可以了;比如:vi /root/.bash_profile  

說白了修改方法只有兩步(針對root使用者的命令):

1.修改配置檔案:vi /root/.bash_profile   新增 export HADOOP_HOME_WARN_SUPPRESS=1

2.重新載入配置檔案:source /root/.bash_profile

下面詳細介紹原因及方案;資料來自:http://chenzhou123520.iteye.com/blog/1826002

啟動Hadoop時報了一個警告資訊,我安裝的Hadoop版本是hadoop1.0.4,具體警告資訊如下:

Shell程式碼  收藏程式碼
  1. [root@localhost hadoop-1.0.4]# ./bin/start-all.sh   
  2. Warning: $HADOOP_HOME is deprecated.  

 網上的說法是因為Hadoop本身對HADOOP_HOME做了判斷,具體在bin/hadoop和bin/hadoop-config.sh裡。在hadoop-config.sh裡有如下的配置: 

Shell程式碼  收藏程式碼
  1. if [ "$HADOOP_HOME_WARN_SUPPRESS" = "" ] && [ "$HADOOP_HOME" != "" ]; then  
  2.   echo "Warning: \$HADOOP_HOME is deprecated." 1>&2  
  3.   echo 1>&2  
  4. fi  

 對於這個警告問題,解決方法如下: 

1.註釋掉hadoop-config.sh裡的上面給出的這段if fi配置(不推薦)

2.在當前使用者home/.bash_profile裡增加一個環境變數:

export HADOOP_HOME_WARN_SUPPRESS=1

注:修改完.bash_profile後需要執行source操作使其生效

Shell程式碼  收藏程式碼
  1. [root@localhost ~]# source .bash_profile  

 執行完後我們可以檢驗一下配置是否成功,重新執行start-all.sh指令碼:

Shell程式碼  收藏程式碼
  1. [root@localhost hadoop-1.0.4]# ./bin/start-all.sh   
  2. starting namenode, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-namenode-localhost.out  
  3. localhost: starting datanode, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-datanode-localhost.out  
  4. localhost: starting secondarynamenode, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-secondarynamenode-localhost.out  
  5. starting jobtracker, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-jobtracker-localhost.out  
  6. localhost: starting tasktracker, logging to /root/hadoop-1.0.4/libexec/../logs/hadoop-root-tasktracker-localhost.out  

 沒有出現Warning: $HADOOP_HOME is deprecated,說明問題已經解決。



相關文章