surendra singh lilhore created HDFS-6576: --------------------------------------------
Summary: Datanode log is generating at root directory in security mode Key: HDFS-6576 URL: https://issues.apache.org/jira/browse/HDFS-6576 Project: Hadoop HDFS Issue Type: Bug Components: datanode Affects Versions: 2.4.0 Reporter: surendra singh lilhore Priority: Minor 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. {noformat} # 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} {noformat} 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 {noformat} # 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 {noformat} -- This message was sent by Atlassian JIRA (v6.2#6252)