1234567891011121314151617181920212223242526272829 |
- #!/bin/sh
- # HDP configures the NameNode JVM process to call this script on
- # OutOfMemoryError. This will find and kill the NameNode process. It's
- # potentially dangerous to keep running the NameNode after an OutOfMemoryError.
- # There is a risk that a file system change could be applied to the in-memory
- # metadata but not made persistent to the edit log. HDFS contains legacy code
- # that catches OutOfMemoryError, so we need to use this script to kill it
- # externally.
- NNPID=$("$JAVA_HOME"/bin/jps | grep -E '^[0-9]+[ ]+NameNode$' | awk '{print $1}')
- if [ $? -gt 0 ]; then
- echo "ERROR: Command failed while looking for NameNode PID."
- exit 1
- fi
- if [ -z "$NNPID" ];
- then
- echo "ERROR: Could not find a NameNode PID."
- exit 1
- fi
- kill -9 "$NNPID"
- if [ $? -gt 0 ]; then
- echo "ERROR: Kill command failed."
- exit 1
- fi
|