在Linux服务器中旋转kafka 0.8日志

时间:2014-09-07 14:58:01

标签: apache-kafka log4j

在旋转kafka日志(kafka 0.8.1.1)的过程中,我设法轮换所有这些,除了kafkaServer.out。 这不是由log4j处理的。 在查看启动java进程的脚本kafka-run-class.sh之后,它会在重定向到文件的情况下运行。 除非重新启动kafka,否则我无法旋转文件。 截断它,进程只是忽略它并继续写入文件。

有没有办法强制它旋转这个日志文件?

感谢。

1 个答案:

答案 0 :(得分:0)

我写了一个名为' rotate'的C ++工具。解决问题。源代码可在此处找到,https://github.com/peihanw/rotate

编译并部署到$ APP_HOME / bin / rotate后,请修改kafka-run-class.sh中的start命令,这是我的例子:

nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" < /dev/null | $APP_HOME/bin/rotate -o "$CONSOLE_OUTPUT_FILE" -t 1 &

还可以配置一些额外的清洁工,如维护工具或脚本,以压缩或删除过期卡夫卡。服务器,卡片,卡片,卡片等。文件。