Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
0.23.0
-
None
-
None
Description
If nodemanager is started under root (I know, I know). The following is displayed:
/usr/lib/jvm/java-6-sun/bin/java -Dproc_nodemanager -Xmx1000m -jvm server -Dhadoop.log.dir=/var/log/yarn -Dyarn.log.dir=/var/log/yarn -Dhadoop.log.file=yarn-yarn-nodemanager-ahmed-laptop.log -Dyarn.log.file=yarn-yarn-nodemanager-ahmed-laptop.log -Dyarn.home.dir=/usr/lib/hadoop -Dhadoop.root.logger=INFO,DRFA -Dyarn.root.logger=INFO,DRFA -Djava.library.path=/usr/lib/hadoop/lib/native -classpath /etc/hadoop/conf:/etc/hadoop/conf:/etc/hadoop/conf:/usr/lib/hadoop/share/hadoop/common/*::/usr/lib/hadoop/*:/usr/lib/hadoop/lib/*:/usr/lib/hadoop/:/usr/lib/hadoop/share/hadoop/hdfs/*:/usr/lib/hadoop/share/hadoop/mapreduce/*:/share/hadoop/mapreduce/*:/usr/lib/hadoop/share/hadoop/mapreduce/*:/usr/lib/hadoop/share/hadoop/mapreduce/lib/*:/etc/hadoop/conf/nm-config/log4j.properties org.apache.hadoop.yarn.server.nodemanager.NodeManager Unrecognized option: -jvm Could not create the Java virtual machine.
The culprit is this bit of code that looks suspiciously like what used to be in bin/hdfs in support of jsvc launch:
elif [ "$COMMAND" = "nodemanager" ] ; then CLASSPATH=${CLASSPATH}:$YARN_CONF_DIR/nm-config/log4j.properties CLASS='org.apache.hadoop.yarn.server.nodemanager.NodeManager' if [[ $EUID -eq 0 ]]; then YARN_OPTS="$YARN_OPTS -jvm server $YARN_NODEMANAGER_OPTS" else YARN_OPTS="$YARN_OPTS -server $YARN_NODEMANAGER_OPTS" fi