我通过ssh连接到远程主机,然后在后台运行
./connect-distributed ../etc/kafka/cusom-connect-distr.properties
而终端现在无法输入。
我试过 -daemon
选项,但它没有任何作用
我也试着在后台用 &
但当我关闭终端时,连接过程与终端一起死亡。
那么我如何在守护模式下运行connect-distributed呢?
我的猜测是你的Kafka连接进程在后台运行,但输出日志是在标准输出上报告的。
现在,为了将输出引导到日志文件,你有很多选项。
nohup
nohup ./bin/connect-distributed ../etc/kafka/cusom-connect-distr.properties &
并将日志报告给 nohup.out
./bin/connect-distributed ../etc/kafka/cusom-connect-distr.properties &> kafka-connect.logs
而输出将在 kafka-connect.logs
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
我试过-daemon选项,但它没有任何作用。
它应该启动一个后台进程。你不会在CLI中看到任何东西