Browse Source

HADOOP-9253. Capture ulimit info in the logs at service start time. (Arpit Gupta via tgraves)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1444082 13f79535-47bb-0310-9956-ffa450edef68
Thomas Graves 12 years ago
parent
commit
7a7a06dd9a

+ 4 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -17,6 +17,10 @@ Release 0.23.7 - UNRELEASED
     HADOOP-9067. provide test for LocalFileSystem.reportChecksumFailure
     (Ivan A. Veselovsky via bobby)
 
+    HADOOP-9253. Capture ulimit info in the logs at service start time.
+    (Arpit Gupta via tgraves)
+ 
+
   OPTIMIZATIONS
 
     HADOOP-9147. Add missing fields to FIleStatus.toString.

+ 13 - 2
hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh

@@ -83,7 +83,8 @@ fi
 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   
+  export HADOOP_IDENT_STRING=$HADOOP_SECURE_DN_USER
+  starting_secure_dn="true"
 fi
 
 if [ "$HADOOP_IDENT_STRING" = "" ]; then
@@ -152,7 +153,17 @@ case $startStop in
       ;;
     esac
     echo $! > $pid
-    sleep 1; head "$log"
+    sleep 1
+    # capture the ulimit output
+    if [ "true" = "$starting_secure_dn" ]; then
+      echo "ulimit -a for secure datanode user $HADOOP_SECURE_DN_USER" >> $log
+      # capture the ulimit info for the appropriate user
+      su --shell=/bin/bash $HADOOP_SECURE_DN_USER -c 'ulimit -a' >> $log 2>&1
+    else
+      echo "ulimit -a for user $USER" >> $log
+      ulimit -a >> $log 2>&1
+    fi
+    head -30 "$log"
     sleep 3;
     if ! ps -p $! > /dev/null ; then
       exit 1

+ 5 - 1
hadoop-yarn-project/hadoop-yarn/bin/yarn-daemon.sh

@@ -122,7 +122,11 @@ case $startStop in
     cd "$YARN_HOME"
     nohup nice -n $YARN_NICENESS "$YARN_HOME"/bin/yarn --config $YARN_CONF_DIR $command "$@" > "$log" 2>&1 < /dev/null &
     echo $! > $pid
-    sleep 1; head "$log"
+    sleep 1
+    # capture the ulimit output
+    echo "ulimit -a" >> $log
+    ulimit -a >> $log 2>&1
+    head -30 "$log"
     ;;
           
   (stop)