如何在后台(守护程序)运行Kafka Connect connect-distributed.sh?

问题描述 投票:1回答:1

我通过ssh连接到远程主机,然后运行

./connect-distributed ../etc/kafka/cusom-connect-distr.properties

并且终端现在无法输入。

我尝试过-daemon选项,但是它什么也没做

我也尝试使用&在后台运行,但是当我关闭终端时,连接进程与终端一起消失。

所以我如何在守护程序模式下运行connect-distributed?

apache-kafka apache-kafka-connect confluent
1个回答
0
投票

我的猜测是您的Kafka Connect进程在后台运行,但是输出日志报告在标准输出上。


现在为了将输出定向到日志文件,您有许多选择:

  1. 使用nohup
nohup ./bin/connect-distributed ../etc/kafka/cusom-connect-distr.properties & 

并且日志将报告给nohup.out

  1. 将标准输出和标准错误直接导入文件
./bin/connect-distributed ../etc/kafka/cusom-connect-distr.properties &> kafka-connect.logs

并且输出将在kafka-connect.logs

  1. 正确配置Kafka Connect log4j

默认情况下,etc/kafka/connect-log4j.properties看起来像:

log4j.rootLogger=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n

log4j.logger.org.apache.zookeeper=ERROR
log4j.logger.org.I0Itec.zkclient=ERROR
log4j.logger.org.reflections=ERROR

请确保更改配置,以便将您的日志写入日志文件。例如,>

log4j.rootLogger=INFO, logFile

log4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logFile.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.logFile.File=/tmp/connect-worker.log
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=[%d] %p %m (%c)%n

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n

log4j.logger.org.apache.zookeeper=ERROR
log4j.logger.org.I0Itec.zkclient=ERROR
log4j.logger.org.reflections=ERROR
© www.soinside.com 2019 - 2024. All rights reserved.