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.sh
是curl
在本地安装到容器的文件中的REST调用。
(Qazxswpoi)
以上是关于kafka连接器不会自动启动的主要内容,如果未能解决你的问题,请参考以下文章