kafka连接器不会自动启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka连接器不会自动启动相关的知识,希望对你有一定的参考价值。

我有一个Kafka Connect源和接收器连接器,用于将数据放入Kafka并将其取出。

我使用docker-compose运行Kafka和Kafka Connect,它以分布式模式运行connect。看到它在连接启动时找到了我的插件,但它实际上并没有做任何事情,除非我对/ connectors API进行POST,包括JSON中的配置。

我有一个属性文件,其中包含配置,我已经尝试将它放在/ etc下,我找到了安装的其他插件的类似属性文件。

我在安装插件时错过了一个步骤,还是需要通过REST API注册连接器才能将其分配给工作人员?

答案

是的,您必须在使用分布式模式时使用REST API配置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 "
--
+> Creating Kafka Connect Elasticsearch sink"
      /scripts/create-es-sink.sh 
      sleep infinity

其中/scripts/create-es-sink.shcurl在本地安装到容器的文件中的REST调用。

(Qazxswpoi)

以上是关于kafka连接器不会自动启动的主要内容,如果未能解决你的问题,请参考以下文章

片段不会启动

getitemcount() 值在片段重新启动之前不会更新

如何在 Ubuntu 系统启动时自动启动 Kafka?

在通知单击时启动片段而不会丢失状态

Kafka 连接集群设置或启动连接工作人员

如何从片段到活动而不会干扰片段的可重用性