Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 分布式模式下的kafka connect未生成通过log4j属性指定的日志_Docker_Apache Kafka_Docker Compose_Apache Kafka Connect - Fatal编程技术网

Docker 分布式模式下的kafka connect未生成通过log4j属性指定的日志

Docker 分布式模式下的kafka connect未生成通过log4j属性指定的日志,docker,apache-kafka,docker-compose,apache-kafka-connect,Docker,Apache Kafka,Docker Compose,Apache Kafka Connect,我已经在我的工作设置中使用了Kafka Connect一段时间了,它工作得非常好。 最近,我想在我基于docker的kafka cluser中尝试一些自己的连接器,只使用一个代理(ubuntu:18.04,安装了kafka)和一个单独的节点作为部署连接器应用程序的客户端 问题是: 一旦我的代理启动并运行,我登录到客户机节点(没有代理运行,只有普通的kafka安装),我设置类路径以指向我的连接器库。另外,KAFKA_LOG4J_选择环境变量,指向启用调试模式时要生成的日志文件的位置。 所以每次我用

我已经在我的工作设置中使用了
Kafka Connect
一段时间了,它工作得非常好。
最近,我想在我基于docker的kafka cluser中尝试一些自己的连接器,只使用一个代理(ubuntu:18.04,安装了kafka)和一个单独的节点作为部署连接器应用程序的客户端

问题是:
一旦我的代理启动并运行,我登录到客户机节点(没有代理运行,只有普通的kafka安装),我设置类路径以指向我的连接器库。另外,
KAFKA_LOG4J_选择
环境变量,指向启用调试模式时要生成的日志文件的位置。
所以每次我用命令启动卡夫卡工作程序时:

nohup/opt//bin/connect-distributed/opt//config/connect-distributed.properties>/dev/null 2>&1&

连接器开始运行,但我没有看到生成日志文件。 我试过几次改变,但都没有效果

问题:

  • 这是否意味着connect-distributed.sh在读取变量后不会生成日志文件
    KAFKA_LOG4J_选项
    ?如果有,有人能解释一下怎么做吗
注意
(我已经调试了connect-distributed.sh脚本,并尝试了包括和不包括守护进程模式的选项,默认情况下,如果未提供
KAFKA_LOG4J_OPTS
,它将使用config目录中的
connect-LOG4J.properties
文件,但即使这样也不会生成日志文件)

观察

只有在客户端节点上启动zookeeper/broker,然后选择提供的
KAFKA_LOG4J_OPTS
值,并开始生成日志,但与KAFKA连接器无关。我已经使用kafkacat验证了与客户和代理的连接

有趣的部分是: 每次启动worker(
connnect distributed.sh
)时,我都会在我的工作区中执行相同的过程,并开始生成日志,但我还没有在自己的设置中复制这些行为)。我不知道我在这里遗漏了什么。
有人能提供一些理由吗,这真的让我抓狂。

请提供您设置为
KAFKA_LOG4J_选项的内容
export KAFKA_LOG4J_OPTS=“-Dlog4j.configuration=file:///u01/shared_data/connect-azuresql-log4j.properties"echo$KAFKA_LOG4J_opts在
connect-azuresql-LOG4J.properties
文件中有什么?LOG4J.rootLogger=DEBUG,traceFile log4j.appender.traceFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.traceFile.DatePattern='.'yyyyy-MM-dd-HH log4j.appender.traceFile.File=/u01/shared_data/logs_dir/connect-worker.log log4j.appender.traceFile.layout=org.apache.log4j.pattern布局log4j.appender.traceFile.layout=[%d]%p%m(%c)%n log4j.logger.org.apache.zookeeper=ERROR log4j.logger.org.I0Itec.zkclient=ERROR log4j.logger.org.reflections=ERROR仅当代理或zookeeper在我运行worker的节点上运行时,才会生成此日志文件。仅使用远程代理运行worker不会生成日志文件。