/etc/hadoop/conf/yarn-env.sh
export HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}
if [ "$command" == "timelineserver" ]; then
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
else
export JAVA_HOME={{java64_home}}
fi
Ambariは、下記のコマンドを実行するので、hadoop-env.shを変更すれば大丈夫そうです。(今後新しいAmbariかHDPバージョンでうまくいかなくなる可能性はあります)
/usr/hdp/current/hadoop-yarn-timelineserver/sbin/yarn-daemon.sh --config /usr/hdp/current/hadoop-client/conf start timelineserver
/etc/hadoop/conf/hadoop-env.sh
# The java implementation to use. Required.
if [ "$1" == "timelineserver" -o "$2" == "timelineserver" ]; then
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
else
export JAVA_HOME={{java_home}}
fi
if [ "$1" == "timelineserver" -o "$2" == "timelineserver" ]; then
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
else
export JAVA_HOME={{java_home}}
fi
もしくは、yarn-env.shを最初のように変更し、JAVA_HOMEが設定されてないときだけ変更でも大丈夫かと。ただ、この場合はどこかでJAVA_HOMEが設定されている場合は予測できないJavaが使われる場合があります。(例えばユーザのprofileとか)
/etc/hadoop/conf/hadoop-env.sh
# The java implementation to use. Required.
if [ -z "$JAVA_HOME" ]; then
if [ -z "$JAVA_HOME" ]; then
export JAVA_HOME=/usr/jdk64/jdk1.8.0_60
fi
0 件のコメント:
コメントを投稿