解決CentOS Warning: $HADOOP_HOME is deprecated
啟動Hadoop時報了一個警告資訊,我安裝的Hadoop版本是hadoop1.0.4,具體警告資訊如下:
[plain]view plaincopy
- [root@localhosthadoop-1.0.4]#./bin/start-all.sh
- Warning:$HADOOP_HOMEisdeprecated.
網上的說法是因為Hadoop本身對HADOOP_HOME做了判斷,具體在bin/hadoop和bin/hadoop-config.sh裡。在hadoop-config.sh裡有如下的配置:
[plain]view plaincopy
- if["$HADOOP_HOME_WARN_SUPPRESS"=""]&&["$HADOOP_HOME"!=""];then
- echo"Warning:\$HADOOP_HOMEisdeprecated."1>&2
- echo1>&2
- fi
對於這個警告問題,解決方案如下:
1.注釋掉hadoop-config.sh裡的上面給出的這段if fi配置(不推薦)
2.在/etc/profile裡增加一個環境變數:
export HADOOP_HOME_WARN_SUPPRESS=1
註:修改完profile後需要執行source操作使其生效
[plain]view plaincopy
- source/etc/profile
備忘:在ubuntu下應該是修改/home/.bashrc檔案,增加一行 export HADOOP_HOME_WARN_SUPPRESS=1
執行完後我們可以檢驗一下配置是否成功,重新執行start-all.sh指令碼:
[plain]view plaincopy
- [root@localhosthadoop-1.0.4]#./bin/start-all.sh
- startingnamenode,loggingto/root/hadoop-1.0.4/libexec/../logs/hadoop-root-namenode-localhost.out
- localhost:startingdatanode,loggingto/root/hadoop-1.0.4/libexec/../logs/hadoop-root-datanode-localhost.out
- localhost:startingsecondarynamenode,loggingto/root/hadoop-1.0.4/libexec/../logs/hadoop-root-secondarynamenode-localhost.out
- startingjobtracker,loggingto/root/hadoop-1.0.4/libexec/../logs/hadoop-root-jobtracker-localhost.out
- localhost:startingtasktracker,loggingto/root/hadoop-1.0.4/libexec/../logs/hadoop-root-tasktracker-localhost.out
沒有出現Warning: $HADOOP_HOME is deprecated,說明問題已經解決。