Linux记录-jstack采集namenode堆栈信息

#!/bin/bash

#以hdfs用户执行jstack每分钟采集一次namenode heapstack日志

#mkdir -p /tmp/jstack

export JAVA_HOME=xxx

cd /log/hadoop/jstack_nn

pid=$(${JAVA_HOME}/bin/jps | grep -i "namenode" | awk 'NR==1{print $1}')

dir=/log/hadoop/jstack_nn/jstack_nn_`date +"%Y-%m-%d-%H"`

if [ ! -d ${dir} ]
then
   mkdir jstack_nn_`date +"%Y-%m-%d-%H"`
fi
${JAVA_HOME}/bin/jstack -l ${pid}  > jstack_nn_`date +"%Y-%m-%d-%H"`/nn_heapStack_`date +"%Y-%m-%d-%H-%M"`.log 2>&1

dir2=/log/hadoop/jstack_nn/jstack_nn_`date -d "1 hour ago" +"%Y-%m-%d-%H"`
if [ ! -d ${dir2} ]
then
   echo "Nothing to do"
else
  mv  jstack_nn_`date -d "1 hour ago" +"%Y-%m-%d-%H"`/ /tmp/jstack
fi
/etc/cron.allow加入hdfs

*/1 * * * * sh /home/hdfs/jstack/jstack_nn.sh
原文地址:https://www.cnblogs.com/xinfang520/p/10530582.html