如何在创建工作人员时创建Kafka Connect连接器?

问题描述 投票:0回答:1

[假设我有一个使用Docker从confluentinc/cp-kafka-connect映像构建的Kafka Connect工作程序,该工作程序部署到服务器并旋转工作程序。现在大多数时候,该连接器将已经存在,因为我已经通过在端口8083上使用POST的REST API调用创建了该连接器。但是,在工作进程启动时如何通过脚本创建连接器(如果尚不存在) ?在它旋转后,我可以以某种方式让我的工人运行吗?

docker apache-kafka apache-kafka-connect
1个回答
0
投票

需要重载的command

原始问题:https://github.com/confluentinc/cp-docker-images/issues/467

解决方案

  volumes:
    - $PWD/scripts:/scripts  # TODO: Create this folder ahead of time, on your host
  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 Connector(s)"
      /scripts/create-connectors.sh  # Note: This script is stored externally from container
      sleep infinity
© www.soinside.com 2019 - 2024. All rights reserved.