Advertisement

解决:关于启动Kafka一段时间后,进程自己停止运行的问题

阅读量:

问题:
启动kafka一段时间后发现后台只有zookeeper进程在运行而kafka进程停止。
解决:
1. 确保kafka和zookeeper的正确启动顺序:
启动kafka时先启动zookeeper
关闭kafka时先关闭kafka后关闭zookeeper
2. 清除旧日志:
图片:
3. 以daemon守护进程方式运行:
bash nohup sh zookeeper-server-start.sh -daemon ../config/zookeeper.properties > ../logs/zookeeper.log 2>&1 & sleep 5 nohup sh kafka-server-start.sh -daemon ../config/server.properties > ../logs/kafka.log 2>&1 &
4. 验证服务是否正常:
图片:

问题:

在kafka运行一段时间后观察发现,在该系统中除该进程外(即非kafka进程),只有一个其他进程zookeeper处于正常运行状态;而经过详细检查后发现kafka自身出现故障无法正常启动。

解决:

1-关于zookeeper和kafka的启动顺序

因为kafka依赖与zookeeper,关于kafka和zookeeper的启动顺序:

复制代码
 启动kafka时:先启动zookeeper,保证zookeeper服务正常后,后再启动Kafka。

    
  
    
 关闭Kafka时:先关闭kafka,再关闭zookeeper。

确保Kafka启动及停止操作均正常完成。在Kafka启动之后,在一段时间内不再响应心跳检测机制,则表示该进程已失效。针对上述情况的解决方案如下:

确保Kafka启动及停止操作均正常完成。在Kafka启动之后,在一段时间内不再响应心跳检测机制,则表示该进程已失效。针对上述情况的解决方案如下:

2-删除kafka的log.dirs路径下的内容

3-以daemon守护进程方式启动kafka

对已有的kafka启动脚本start.sh进行修改,在运行时按照daemon守护进程的方式进行启动,并同时启动zookeeper服务

复制代码
 nohup sh zookeeper-server-start.sh -daemon ../config/zookeeper.properties > ../logs/zookeeper.log 2>&1 &

    
 sleep 5
    
 nohup sh kafka-server-start.sh -daemon  ../config/server.properties > ../logs/kafka.log 2>&1 &

4-重新执行脚本,查看端口

已正常可以启动kafka。

全部评论 (0)

还没有任何评论哟~