Kafka进程总是在启动一段时间后自动停止

最近遇到了一个问题,集群中的每一台kafka节点总是在运行一段时间之后莫名其妙的“死”掉,查了/var/log/message没有发现相关的日志,也排查了kafka-server.log,也没发现异常停止的日志信息,都是正常的日志数据,查了一些资料,说是在启动的时候加上-daemon参数:

原启动命令

1
bin/kafka-server-start.sh ./config/server.properties &

现启动命令

1
bin/kafka-server-start.sh -daemon ./config/server.properties &

原因是在bin/kafka-run-class.sh文件中:

1
2
3
4
5
6
7
8
# Launch mode
if [ "x$DAEMON_MODE" = "xtrue" ]; then
#加 daemon 会使用该命令
nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
else
#不加时使用的命令
exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
fi