"在yaml中添加或在容器内添加环境变量KAFKA_LOG_DIR" —— 看我前面回复的,在yaml中添加 或 ……,最初就是在yaml中添加环境变量再启动kafka集群的,不生效。
大兄弟,你不要这样。步骤相当于:
步骤应该是:
肯定是配置在前,kafka启动在后呀。
你把env放置到kafka yaml里,这样就能做到了。
以下是容器内操作:
I have no name!@k8snode-76:/opt/bitnami/kafka/logs$ export LOG_DIR=/opt/bitnami/kafka/logs
I have no name!@k8snode-76:/opt/bitnami/kafka/logs$ ls
I have no name!@k8snode-76:/opt/bitnami/kafka/logs$ ls
I have no name!@k8snode-76:/opt/bitnami/kafka/logs$ env | grep LOG_DIR
KAFKA_CFG_LOG_DIR=/opt/bitnami/kafka/logs
LOG_DIR=/opt/bitnami/kafka/logs
I have no name!@k8snode-76:/opt/bitnami/kafka/logs$ ls
I have no name!@k8snode-76:/opt/bitnami/kafka/logs$
我采用的是k8s容器化部署方式,在yaml中添加或在容器内添加环境变量KAFKA_LOG_DIR和LOG_DIR貌似并没有生效,在指定目录仍没有server logs输出。
你提供的信息太少了,不知道你是怎么启动的,和你的关键yaml信息。
1、kubectl logs <kafka-pod>
看到的日志是bin/kafka-server-start.sh config/server.properties
的日志。
2、你运行起来kafka之后,可以命令行进入到容器内,查看/opt/bitnami/scripts/kafka-env.sh
,里面有包含日志的信息,关键字是KAFKA_LOG_DIR
。
export KAFKA_LOG_DIR="${KAFKA_BASE_DIR}/logs"
所以,你可以试试加上KAFKA_LOG_DIR
环境变量来指定kafka打印日志的位置。
同样,如果不生效,也可以换成LOG_DIR
试试,这个是kafka的原始日志目录指定。