#!/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