Slipstream/Kafka checklist

  其他常见问题
内容纲要

概要描述


本文介绍当Slipstream/Kafka 数据积压或者启动失败时,如何收集异常信息,便于排查根本原因,提供对应的解决方案

详细说明


备份组件日志

登录组件对应服务器linux命令备份到数据盘目录

确认要备份日志文件 $ERR_LOG

ls -ltr /var/log/slipstream1/hive-server.log*

备份文件

DATE=$(date +%Y%m%d) && mkdir -p /mnt/disk1/log_err/$DATE && cp $ERR_LOG /mnt/disk1/log_err/$DATE

组件无法启动

1)Pod状态

执行命令“kubectl get pods -o wide | grep slipstream”,获取命令输出

对于每一个pod,执行命令“kubectl logs ”,获取命令输出

对于每一个pod,执行命令“kubectl describe po ”,获取命令输出

获取组件的日志,在slipstream安装的节点上进入路径“/var/log/”,例如/var/log/slipstream1,获取以下日志文件:

hive-metastore.log*(如果metastore共享的inceptor的,就去inceptor日志路径下获取该日志)进入Manager页面,再进入slipstream组件,右上角更多操作,更新依赖里面,查看是否和inceptor共享MetaStore

hive-server2.log*

inceptor-executor.log*

2)在Manager节点,收集/var/log/transwarp-manager/master/transwarp-manager.log*

3)进入Manager页面,再进入kafka组件,左侧"盾牌"按钮查看组件是否开了安全,截图;针对4.x版本的kafka,提供/etc//conf/server.properties文件和/transwarp/tdh_client/kafka/config/server.properties,例:/mnt/disk1/transwarp/tdh_client/kafka/config/server.properties

数据积压

1)进入Manager页面,再进入kafka组件的角色页面,查看各角色状态,截图;

2)进入Manager页面,再进入slipstram组件的角色页面,查看各角色状态,截图;

3)任务执行情况

进入Manager页面,再进入slipstrem组件的角色页面,通过slipstream-Server的Link进去4040页面,获取流任务SQL对应任务的job,stage和task页面的截图

4)获取组件的日志,在slipstream安装的节点上进入路径“/var/log/”,例如/var/log/slipstream1,获取以下日志文件:

hive-metastore.log*

hive-server2.log*

inceptor-executor.log*

5)根据脚本判断数据积压情况以及积压量:

脚本路径:manager节点,/var/lib/transwarp-manager/master/content/resources/tdh_client/kafka/bin

执行命令:./kafka-consumer-groups.sh --describe --group default-default.demo_stream(stream名字)--bootstrap-server 192.168.31.33:9092(kafka ip:port)

stream任务名称获取方式:在beeline模式下,执行show streams;

流任务执行慢

1)slipstream参数

进入Manager页面,再进入slipstream组件的配置页面,获取以下参数的值:

inceptor.executor.cores

inceptor.executor.memory

inceptor.server.memory

2)任务执行情况

进入Manager页面,再进入slipstream组件的角色页面,通过Inceptor Server的Link进去4040页面,获取流任务对应的job,stage和task页面的截图

如果一个任务长时间执行不完,对于每一个executor,获取jstack信息,例如:

执行命令“kubectl exec -it {executor pod名称} bash”进入pod

在pod中,执行命令“jps”获取executor进程的pid

执行命令“sudo -u hive jstack -l  > /tmp/jstack.log”,收集这个输出文件

性能信息

1.有GC情况
2.内存,cpu,io资源偏高

1)Java堆栈信息 jstack ×10 inceptor/executor

说明:GC一定要收集

jstack工具:
PID=$(jps|grep HRegionServer| awk '{print$1}') && sudo -u hbase $(whereis jstack | awk -F':' '{print $2}') $PID

2)jmap  inceptor/executor

说明:GC一定要收集,jmap不仅能生成dump文件,还可以查询finalize执行队列、Java堆和永久代的详细信息,如当前使用率、当前使用的是哪种收集器等

jmap工具:
jmap -histo:live 24971 | more

3)heapdump

说明:比较全面,但文件较大

jmap工具:
jmap -dump:live,format=b,file=/tmp/dump.hprof 24971

4)GC日志

说明:GC一定要收集

jstat工具+组件gc日志:
jstat -gcutil 3024 1000 10

5)SAR日志

说明:出现内存、CPU、IO资源偏高的情况下,需要记录 ; 系统状态进行取样,并持续记录

sar命令:
#每10秒采样一次,连续采样3次,报告设备使用情况
sar -d 10 3 -p

6)ganglia截图

ganglia页面集群的第一个节点,可以选择统计周期
http://第一个节点IP/ganglia

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。