[
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)