hive任务被杀问题排查

2022-12-13  本文已影响0人  后知不觉1

背景

hive 任务运行中被自己kill 掉,而日志中都是很正常的没有报错


image.png

排查

hive client 预编译sql 生成执行任务,提交hiveserver 生成一个线程跟踪处理这个任务(提交到yarn),线程会输出这个任务执行的情况(关键执行步骤)

通过job_id来grep hiveserver的日志发现发现找到这个进程


image.png

根据进程号来过滤日志

grep -A 5  "Thread-349362" hiveserver.log
image.png

发现主要是由于任务kill后导致的stream closed,没啥

根据日志中的kill 记录很显然是调用hadoop job -kill 命令

解决

通过修改$HADOOP_HOME/bin/mapred,直接屏蔽掉kill命令

strA=$@
strB="kill"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]]
then
    echo "包含"
else
    exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"
fi
上一篇 下一篇

猜你喜欢

热点阅读