我通过ssh连接到远程主机,然后运行
./connect-distributed ../etc/kafka/cusom-connect-distr.properties
并且终端现在无法输入。
我尝试过-daemon
选项,但是它什么也没做
我也尝试使用&
在后台运行,但是当我关闭终端时,连接进程与终端一起消失。
所以我如何在守护程序模式下运行connect-distributed?
我的猜测是您的Kafka Connect进程在后台运行,但是输出日志报告在标准输出上。
现在为了将输出定向到日志文件,您有许多选择:
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