Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.4.0
-
None
-
Reviewed
Description
In hadoop-env.sh script we are exporting HADOOP_SECURE_DN_LOG_DIR , but in above line export statement for HADOOP_LOG_DIR is commented
If in user environment HADOOP_LOG_DIR is not exported then HADOOP_SECURE_DN_LOG_DIR env variable will export with "/" value and DN will logs in root directory.
# Where log files are stored. $HADOOP_HOME/logs by default. #export HADOOP_LOG_DIR=${HADOOP_LOG_DIR}/$USER # Where log files are stored in the secure data environment. export HADOOP_SECURE_DN_LOG_DIR=${HADOOP_LOG_DIR}/${HADOOP_HDFS_USER}
I think we should comment this line.
In hadoop-daemon.sh already handled case if value of HADOOP_SECURE_DN_LOG_DIR and HADOOP_LOG_DIR is empty.
In hadoop-daemon.sh we assigning value of HADOOP_SECURE_DN_LOG_DIR in HADOOP_LOG_DIR and after that we are checking if HADOOP_LOG_DIR is empty then HADOOP_LOG_DIR env variable export with "$HADOOP_PREFIX/logs" value
# Determine if we're starting a secure datanode, and if so, redefine appropriate variables if [ "$command" == "datanode" ] && [ "$EUID" -eq 0 ] && [ -n "$HADOOP_SECURE_DN_USER" ]; then export HADOOP_PID_DIR=$HADOOP_SECURE_DN_PID_DIR export HADOOP_LOG_DIR=$HADOOP_SECURE_DN_LOG_DIR export HADOOP_IDENT_STRING=$HADOOP_SECURE_DN_USER starting_secure_dn="true" fi if [ "$HADOOP_IDENT_STRING" = "" ]; then export HADOOP_IDENT_STRING="$USER" fi # get log directory if [ "$HADOOP_LOG_DIR" = "" ]; then export HADOOP_LOG_DIR="$HADOOP_PREFIX/logs" fi