我想在ECS (ec2类型)中运行一个kafka连接多节点集群。
为了让同一个集群中的kafka连接节点进行通信,我需要将REST_ADVERTISED_HOST_NAME属性设置为运行ecs任务的ec2实例的ip /主机名。
对于每个kafka-connect节点(作为ECS任务运行),此属性应该不同。
当我增加ECS服务中的任务数时,如何为每个任务设置一个不同的 REST_ADVERTISED_HOST_NAME?在幕后,这些任务可以运行在同一个ec2实例上。
当前,此属性在connect-distributed.properties中被硬编码,或者在任务定义中作为环境变量传递,因此对于创建的每个新任务(或连接节点)都是相同的。
发布于 2021-09-03 17:36:03
您需要一个可从所有任务/节点访问的负载均衡器。
发布于 2022-09-01 19:12:28
这个问题已经很老了,但是我们遇到了这个问题,并通过引入一个自定义入口点来解决这个问题,它在引导过程中设置了CONNECT_REST_ADVERTISED_HOST_NAME。
我们的Dockerfile (简化):
FROM confluentinc/cp-server-connect-base:7.2.1
COPY entrypoint.sh .和entrypoint.sh:
#!/bin/bash
export CONNECT_REST_ADVERTISED_HOST_NAME=$HOSTNAME
/etc/confluent/docker/runhttps://stackoverflow.com/questions/66797570
复制相似问题