EMR Kafka集群管控页面显示Kafka相关组件异常,无法通过重启等方式恢复时,需要排查异常原因。本文介绍如何排查EMR Kafka服务异常和常见的异常处理方法。
排查异常
说明 本文以Kafka Broker服务为例说明。
- 登录EMR on ECS控制台,确认服务状态。
说明 当组件状态不是运行中或者健康状态不是良好,则说明组件存在异常。
- 查看服务日志。
登录组件异常节点的ECS实例,找到异常组件的日志输出目录,并进入日志目录,查看日志文件。登录方式请参见
登录集群。
例如,kafka broker服务的主要输出目录为
$LOG_DIR_ROOT/kafka
,主要输出服务日志文件为
$LOG_DIR_ROOT/kafka/server.log
。示例代码如下:
sudo su - kafka
cd $LOG_DIR_ROOT
#查看日志输出目录
ls -lrt
- 分析服务日志,找到错误日志,定位异常原因。
通过grep命令分析日志中的错误信息,查找异常原因。例如,可以执行以下命令,分析kafka broker异常停止的原因。
sudo su - kafka
cd $LOG_DIR_ROOT/kafka
#查看是否有error信息
grep ERROR server.log
#查看是否有fatal信息
grep -i fatal server.log
如果日志文件被删除等原因不容易查到错误信息,而服务此时又是停止的,可以
登录EMR on ECS控制台手动启动异常服务,同时执行以下命令查看日志输出。
#查看最新写入的日志信息,看是否有异常信息输出
tail -f $LOG_DIR_ROOT/kafka/server.log
- 解决问题,恢复异常服务。