[ https://issues.apache.org/jira/browse/SQOOP-3102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
peng.jianhua updated SQOOP-3102: -------------------------------- Description: There are two questions in the sqoop_server_classpath_set function of the sqoop.sh. The sqoop2 start failure when using the same user with hadoop. $HADOOP_YARN_HOME and $HADOOP_HDFS_HOME were used as following in start-all.sh of the hadoop: # start hdfs daemons if hdfs is present if [ -f "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh ]; then "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh --config $HADOOP_CONF_DIR fi # start yarn daemons if yarn is present if [ -f "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh ]; then "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh --config $HADOOP_CONF_DIR fi Based on above logic the $HADOOP_YARN_HOME and $HADOOP_HDFS_HOME must equal to $HADOOP_HOME. And they must be set as environment variable. In sqoop2 they were used as following in sqoop_server_classpath_set function for sqoop.sh file. HADOOP_COMMON_HOME=${HADOOP_COMMON_HOME:-${HADOOP_HOME}/share/hadoop/common} HADOOP_HDFS_HOME=${HADOOP_HDFS_HOME:-${HADOOP_HOME}/share/hadoop/hdfs} HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME:-${HADOOP_HOME}/share/hadoop/mapreduce} HADOOP_YARN_HOME=${HADOOP_YARN_HOME:-${HADOOP_HOME}/share/hadoop/yarn} In above logic the HADOOP_HDFS_HOME will equal to HADOOP_HOME when HADOOP_HDFS_HOME equal to $HADOOP_HOME in environment variable . The HADOOP_YARN_HOME will equal to HADOOP_HOME when HADOOP_YARN_HOME was set to $HADOOP_HOME in environment variable also. As a result, sqoop2 start failure. We shouldn't only check whether HADOOP_HDFS_HOME is empty, but also directly set HADOOP_HDFS_HOME=${HADOOP_HOME}/share/hadoop/hdfs and HADOOP_YARN_HOME={HADOOP_HOME}/share/hadoop/yarn in sqoop_server_classpath_set function for sqoop.sh file.. was: There are two questions in the sqoop_server_classpath_set function of the sqoop.sh $HADOOP_YARN_HOME and $HADOOP_HDFS_HOME were used as following in start-all.sh of the hadoop: # start hdfs daemons if hdfs is present if [ -f "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh ]; then "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh --config $HADOOP_CONF_DIR fi # start yarn daemons if yarn is present if [ -f "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh ]; then "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh --config $HADOOP_CONF_DIR fi Based on above logic the $HADOOP_YARN_HOME and $HADOOP_HDFS_HOME must equal to $HADOOP_HOME. And they must be set as environment variable. In sqoop2 they were used as following in sqoop_server_classpath_set function for sqoop.sh file. HADOOP_COMMON_HOME=${HADOOP_COMMON_HOME:-${HADOOP_HOME}/share/hadoop/common} HADOOP_HDFS_HOME=${HADOOP_HDFS_HOME:-${HADOOP_HOME}/share/hadoop/hdfs} HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME:-${HADOOP_HOME}/share/hadoop/mapreduce} HADOOP_YARN_HOME=${HADOOP_YARN_HOME:-${HADOOP_HOME}/share/hadoop/yarn} In above logic the HADOOP_HDFS_HOME will equal to HADOOP_HOME when HADOOP_HDFS_HOME equal to $HADOOP_HOME in environment variable . The HADOOP_YARN_HOME will equal to HADOOP_HOME when HADOOP_YARN_HOME was set to $HADOOP_HOME in environment variable also. As a result, sqoop2 start failure. We shouldn't only check whether HADOOP_HDFS_HOME is empty, but also directly set HADOOP_HDFS_HOME=${HADOOP_HOME}/share/hadoop/hdfs and HADOOP_YARN_HOME={HADOOP_HOME}/share/hadoop/yarn in sqoop_server_classpath_set function for sqoop.sh file.. Summary: There are two questions in the sqoop_server_classpath_set function of the sqoop.sh. The sqoop2 start failure when using the same user with hadoop. (was: There are two questions in the sqoop_server_classpath_set function of the sqoop.sh) > There are two questions in the sqoop_server_classpath_set function of the > sqoop.sh. The sqoop2 start failure when using the same user with hadoop. > -------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: SQOOP-3102 > URL: https://issues.apache.org/jira/browse/SQOOP-3102 > Project: Sqoop > Issue Type: Bug > Components: sqoop2-dist > Reporter: peng.jianhua > Priority: Minor > Labels: patch > Attachments: > 0001-SQOOP-3102-There-are-two-questions-in-the-sqoop_serv.patch > > > There are two questions in the sqoop_server_classpath_set function of the > sqoop.sh. The sqoop2 start failure when using the same user with hadoop. > $HADOOP_YARN_HOME and $HADOOP_HDFS_HOME were used as following in > start-all.sh of the hadoop: > # start hdfs daemons if hdfs is present > if [ -f "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh ]; then > "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh --config $HADOOP_CONF_DIR > fi > # start yarn daemons if yarn is present > if [ -f "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh ]; then > "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh --config $HADOOP_CONF_DIR > fi > Based on above logic the $HADOOP_YARN_HOME and $HADOOP_HDFS_HOME must equal > to $HADOOP_HOME. And they must be set as environment variable. > In sqoop2 they were used as following in sqoop_server_classpath_set function > for sqoop.sh file. > HADOOP_COMMON_HOME=${HADOOP_COMMON_HOME:-${HADOOP_HOME}/share/hadoop/common} > HADOOP_HDFS_HOME=${HADOOP_HDFS_HOME:-${HADOOP_HOME}/share/hadoop/hdfs} > HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME:-${HADOOP_HOME}/share/hadoop/mapreduce} > HADOOP_YARN_HOME=${HADOOP_YARN_HOME:-${HADOOP_HOME}/share/hadoop/yarn} > In above logic the HADOOP_HDFS_HOME will equal to HADOOP_HOME when > HADOOP_HDFS_HOME equal to $HADOOP_HOME in environment variable . The > HADOOP_YARN_HOME will equal to HADOOP_HOME when HADOOP_YARN_HOME was set to > $HADOOP_HOME in environment variable also. > As a result, sqoop2 start failure. > We shouldn't only check whether HADOOP_HDFS_HOME is empty, but also directly > set HADOOP_HDFS_HOME=${HADOOP_HOME}/share/hadoop/hdfs and > HADOOP_YARN_HOME={HADOOP_HOME}/share/hadoop/yarn in > sqoop_server_classpath_set function for sqoop.sh file.. -- This message was sent by Atlassian JIRA (v6.3.4#6332)