You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Jonathan Hurley (JIRA)" <ji...@apache.org> on 2015/06/29 16:37:04 UTC

[jira] [Created] (AMBARI-12202) RU: YARN daemons started by Ambari have invalid classpath entries

Jonathan Hurley created AMBARI-12202:
----------------------------------------

             Summary: RU: YARN daemons started by Ambari have invalid classpath entries
                 Key: AMBARI-12202
                 URL: https://issues.apache.org/jira/browse/AMBARI-12202
             Project: Ambari
          Issue Type: Bug
          Components: ambari-server
    Affects Versions: 2.1.0
            Reporter: Jonathan Hurley
            Assignee: Jonathan Hurley
            Priority: Critical
             Fix For: 2.1.0


After a rolling upgrade, there are invalid entries on the classpath for YARN:

ResourceManager's command-line
{code}
yarn      9718  3.0  3.0 1876080 468084 ?      Sl   19:56   2:07 /usr/jdk64/jdk1.7.0_67/bin/java -Dproc_resourcemanager -Xmx1024m -Dhdp.version=2.3.0.0-2410 -Dhadoop.log.dir=/grid/0/log/hadoop/yarn -Dyarn.log.dir=/grid/0/log/hadoop/yarn -Dhadoop.log.file=yarn-yarn-resourcemanager-ip-172-31-39-58.log -Dyarn.log.file=yarn-yarn-resourcemanager-ip-172-31-39-58.log -Dyarn.home.dir= -Dyarn.id.str=yarn -Dhadoop.root.logger=INFO,RFA -Dyarn.root.logger=INFO,RFA -Djava.library.path=:/usr/hdp/2.3.0.0-2410/hadoop/lib/native/Linux-amd64-64:/grid/0/hdp/2.3.0.0-2410/hadoop/lib/native:/grid/0/hdp/2.3.0.0-2410/hadoop/lib/native/Linux-amd64-64:/grid/0/hdp/2.3.0.0-2410/hadoop/lib/native -Dyarn.policy.file=hadoop-policy.xml -Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY -Dhadoop.log.dir=/grid/0/log/hadoop/yarn -Dyarn.log.dir=/grid/0/log/hadoop/yarn -Dhadoop.log.file=yarn-yarn-resourcemanager-ip-172-31-39-58.log -Dyarn.log.file=yarn-yarn-resourcemanager-ip-172-31-39-58.log -Dyarn.home.dir=/usr/hdp/current/hadoop-yarn-resourcemanager -Dhadoop.home.dir=/grid/0/hdp/2.3.0.0-2410/hadoop -Dhadoop.root.logger=INFO,RFA -Dyarn.root.logger=INFO,RFA -Djava.library.path=:/usr/hdp/2.3.0.0-2410/hadoop/lib/native/Linux-amd64-64:/grid/0/hdp/2.3.0.0-2410/hadoop/lib/native:/grid/0/hdp/2.3.0.0-2410/hadoop/lib/native/Linux-amd64-64:/grid/0/hdp/2.3.0.0-2410/hadoop/lib/native -classpath /usr/hdp/2.3.0.0-2410/hadoop/conf:/usr/hdp/2.3.0.0-2410/hadoop/conf:/usr/hdp/2.3.0.0-2410/hadoop/conf:/usr/hdp/2.3.0.0-2410/hadoop/lib/*:/usr/hdp/2.3.0.0-2410/hadoop/.//*:/usr/hdp/2.3.0.0-2410/hadoop-hdfs/./:/usr/hdp/2.3.0.0-2410/hadoop-hdfs/lib/*:/usr/hdp/2.3.0.0-2410/hadoop-hdfs/.//*:/usr/hdp/2.3.0.0-2410/hadoop-yarn/lib/*:/usr/hdp/2.3.0.0-2410/hadoop-yarn/.//*:/usr/hdp/2.3.0.0-2410/hadoop-mapreduce/lib/*:/usr/hdp/2.3.0.0-2410/hadoop-mapreduce/.//*::/usr/share/java/mysql-connector-java-5.1.17.jar:/usr/share/java/mysql-connector-java.jar:/usr/hdp/current/hadoop-mapreduce-client/*:/usr/hdp/current/tez-client/*:/usr/hdp/current/tez-client/lib/*:/etc/tez/conf/:/usr/hdp/2.3.0.0-2410/tez/*:/usr/hdp/2.3.0.0-2410/tez/lib/*:/etc/tez/conf:/usr/share/java/mysql-connector-java-5.1.17.jar:/usr/share/java/mysql-connector-java.jar:/usr/hdp/current/hadoop-mapreduce-client/*:/usr/hdp/current/tez-client/*:/usr/hdp/current/tez-client/lib/*:/etc/tez/conf/:/usr/hdp/2.3.0.0-2410/tez/*:/usr/hdp/2.3.0.0-2410/tez/lib/*:/etc/tez/conf:/usr/hdp/current/hadoop-yarn-resourcemanager/.//*:/usr/hdp/current/hadoop-yarn-resourcemanager/lib/*:/usr/hdp/2.3.0.0-2410/hadoop/conf/rm-config/log4j.properties org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
{code}

Invalid entries I see
 - /usr/hdp/2.3.0.0-2410/hadoop/conf,: Three (duplicate) entries for 
 - /usr/hdp/current/hadoop-mapreduce-client/*
 - /usr/hdp/current/tez-client/*: 2 entries
 - /usr/hdp/current/tez-client/lib/*: 2 entries
 - /etc/tez/conf/: 4 entries
 - /usr/hdp/current/hadoop-mapreduce-client/*
 - /usr/hdp/current/hadoop-yarn-resourcemanager/.//*
 - /usr/hdp/current/hadoop-yarn-resourcemanager/lib/*

Our {{hadoop-env.sh}} is sourcing the wrong mapr and tez:

{code:title=hadoop-env.xml}
#Add libraries required by nodemanager
MAPREDUCE_LIBS={{mapreduce_libs_path}}
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}:${MAPREDUCE_LIBS}

if [ -d "/usr/lib/tez" ]; then
  export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/lib/tez/*:/usr/lib/tez/lib/*:/etc/tez/conf
fi

# Setting path to hdfs command line
export HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}
{code}

I see two issues here:
- {{MAPREDUCE_LIBS}} is set to {{mapreduce_libs_path = "/usr/hdp/current/hadoop-mapreduce-client/*"}}
- Tez is hard coded

Both of these can be fixed; the question is do we need to fix them for Ambari 2.1?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)