“$HADOOP_HOME is deprecated"が鬱陶しい。
※本記事ではhadoop 1.00を使ってます。
hadoopを実行すると”$HADOOP_HOME is deprecated"と表示されることがある。
HADOOP_HOMEはもう使われなくなり、代わりにHADOOP_PREFIXにするよう推奨されている。
これを抑制するには、以下二つのうち、いずれかをすればよい。
”$HADOOP_HOME is deprecated"を抑制するには。
- HADOOP_HOMEをHADOOP_PREFIXに置き換える。あるいは。
- HADOOP_HOME_WARN_SUPPRESS=YESと宣言する。
hadoopのバージョンアップをするつもりがないなら、②が楽でしょうかね。
具体的には、hadoopを使うユーザの.profileあたりで宣言しておけばOK。
エラーメッセージの原因
なお、HADOOP関連のスクリプトを当該メッセージでgrepすると、hadoop-config.shに以下の記載がある。
hadoop-config.sh
if [ "$HADOOP_HOME_WARN_SUPPRESS" == "" ] && [ "$HADOOP_HOME" != "" ]; then
echo "Warning: \$HADOOP_HOME is deprecated." 1>&2
echo 1>&2
fi
つまりHADOOP_HOMEに何か設定されていれば、メッセージを表示する。
しかし、HADOOP_HOME_WARN_SUPPRESSに何か設定されていれば、そのメッセージを抑制する、というわけ。
上記ではHADOOP_HOME_WARN_SUPPRESS=“YES"にしているが、実際のところ中身はなんだってよい。