我让Kafka使用Sql连接器运行。目前,这是在Linux服务器上运行的,我正在使用Putty连接来配置和运行所有内容。我可以在独立模式下很好地启动工作进程,一切都如预期。然而,感觉我应该能够离开终端会话,让工作人员像服务一样运行。目前,我结束了我的终端会话,只是用油灰重新连接,但这并不是一种正确的方法。有人知道如何让工人像服务一样运行吗?
./connect-standalone.sh '../config/worker.properties' '../config/connector.properties'
首先我想告诉你,在独立模式下运行Kafka-connect不是一个好选择,你也可以在单机上以分布式模式运行Kafka connect。
如果您不想创建服务,则可以使用屏幕实用程序。
Ex
-
创建屏幕
屏幕-S kafka连接
-
运行kafka连接命令
/connect-standalone.sh'/config/worker.properties"/config/connector.properties的
-
使用
ctrl+A+D
探测屏幕 -
列表和恢复屏幕
屏幕-ls
屏幕-r kafka连接
-
在屏幕内键入exit到终端连接的屏幕。
服务
在/etc/systemd/system
目录中创建一个新文件kafka-connect.service
。
kafkaconnect.service
[Unit]
Description=Kakfka-connect
After=network.target
[Service]
User=ubuntu
Group=ubuntu
Environmet="KAFKA_HEAP_OPTS=-Xmx1G -Xms1G"
Environment="KAFKA_OPTS=-javaagent:/home/ubuntu/prometheus/jmx_prometheus_javaagent-0.15.0.jar=8080:/home/ubuntu/prometheus/kafka-connect.yml"
ExecStart=/home/ubuntu/kafka_2.13-2.7.0/bin/connect-distributed.sh /home/ubuntu/kafka_2.13-2.7.0/config/connect-distributed.properties
[Install]
WantedBy=multi-user.target
在ExecStart中,这是一个以分布式模式启动Kafka连接服务的命令,你也可以更改它。如果你还没有安装jmx_exporter,那么你可以从服务中删除Environment="KAFKA_OPTS=-javaagent:/home/ubuntu/prometheus/jmx_prometheus_javaagent-0.15.0.jar=8080:/home/ubuntu/prometheus/kafka-connect.yml"
这一行。