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
上一篇:Java Thread join() 的用法


下一篇:转-CSRF——攻击与防御