#!/bin/bash #以hdfs用户执行jstack每分钟采集一次namenode gc日志 #mkdir -p /tmp/jstack cd /log/hadoop/jstack_nn pid=$(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 jstack -l ${pid} > jstack_nn_`date +"%Y-%m-%d-%H"`/nn_gc_`date +"%Y-%m-%d-%H-%M"`.log 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