kafka connect连接器不会自动启动

0h4hbjxa  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(416)

我有一个kafka连接源和接收器连接器,用于将数据放入kafka并将其取出。
我使用docker compose运行kafka和kafka connect,docker compose以分布式模式运行connect。当connect启动时,它会找到我的插件,但实际上它什么都不做,除非我发布到/connectors-api,包括json中的配置。
我有一个带有配置的属性文件,我试着把它放在/etc下,在那里我找到了其他已安装插件的类似属性文件。
我在安装插件时是否遗漏了一个步骤,或者在将连接器分配给worker之前是否需要通过restapi注册连接器?

yhxst69z

yhxst69z1#

是的,在使用分布式模式时,必须使用restapi配置kafka connect。
不过,可以使用docker compose编写连接器创建的脚本,如下所示:

command: 
    - bash 
    - -c 
    - |
      /etc/confluent/docker/run & 
      echo "Waiting for Kafka Connect to start listening on kafka-connect ⏳"
      while [ $$(curl -s -o /dev/null -w %{http_code} http://kafka-connect:8083/connectors) -eq 000 ] ; do 
        echo -e $$(date) " Kafka Connect listener HTTP state: " $$(curl -s -o /dev/null -w %{http_code} http://kafka-connect:8083/connectors) " (waiting for 200)"
        sleep 5 
      done
      nc -vz kafka-connect 8083
      echo -e "\n--\n+> Creating Kafka Connect Elasticsearch sink"
      /scripts/create-es-sink.sh 
      sleep infinity

哪里 /scripts/create-es-sink.sh 剩下的电话是谁打来的 curl 在本地装入容器的文件中。
(来源)

e3bfsja2

e3bfsja22#

在使用“confluent hub install”启动分布式连接工作进程之前,可以安装kafka连接器,如下所示:手动安装kafka连接器)。然而,我不知道如果你不使用汇合枢纽的魔力是什么。

相关问题