Apache kafka 在kafka connect中,领导者节点通常做什么?
我想将kafka connect群集设置为分布式模式。 假设这里有4个节点,如下所示:Apache kafka 在kafka connect中,领导者节点通常做什么?,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我想将kafka connect群集设置为分布式模式。 假设这里有4个节点,如下所示: node1 node2 node3 node4 [2021-04-28 18:24:09,320] INFO Joined group and got assignment: Assignment{error=0, leader='connect-1-303380fb-90ff-4c00-a302-a57ee8b4a0e4', leaderUrl='http://node1:8083/', offset=9
node1
node2
node3
node4
[2021-04-28 18:24:09,320] INFO Joined group and got assignment: Assignment{error=0, leader='connect-1-303380fb-90ff-4c00-a302-a57ee8b4a0e4', leaderUrl='http://node1:8083/', offset=93, connectorIds=[], taskIds=[test5-0, test5-2]} (org.apache.kafka.connect.runtime.distributed.DistributedHerder)
我想将节点1
设置为播发的\u主机
,我想这将像一个领导者一样设置。还将node1
设置为REST\u主机
。
所以,当我运行docker容器时,我将环境变量设置为每个节点,如下所示
-e CONNECT_REST_HOST_NAME="node1" \
-e CONNECT_REST_PORT="8083" \
-e CONNECT_REST_ADVERTISED_HOST_NAME="node1" \
-e CONNECT_REST_ADVERTISED_PORT="8083" \
然后,我可以看到像leaderUrl='1'这样的短语http://node1:8083/“
从日志中如下所示:
node1
node2
node3
node4
[2021-04-28 18:24:09,320] INFO Joined group and got assignment: Assignment{error=0, leader='connect-1-303380fb-90ff-4c00-a302-a57ee8b4a0e4', leaderUrl='http://node1:8083/', offset=93, connectorIds=[], taskIds=[test5-0, test5-2]} (org.apache.kafka.connect.runtime.distributed.DistributedHerder)
在这种情况下,我的观点是
- 我读过文档,卡夫卡连接集群中没有领导者,但我认为这
将节点设置为领导者;正如你在日志中看到的。我错了吗?如果我误解了,那么connect\u REST\u advised\u HOST\u NAME
的确切角色是什么CONNECT\u REST\u advised\u HOST\u NAME
- 我认为,
只让一个节点获得所有请求。但当我要求点头2、点头3或点头4时,他们表现得很好。。!所以我想知道这个变量的确切作用是什么CONNECT\u REST\u HOST\u NAME
- 最后,如果集群中有leader,leader节点通常做什么
广告端口通常仅在代理后与rest端口不同谢谢您的回复!我了解了概念,但仍然对用法感到困惑。那么,我是不是用错了这些属性?我是否必须将播发的主机名设置为每个节点自己的名称,而不是每个节点的特定名称(就像我现在所做的那样)?播发的名称应该默认为自己的操作系统主机名。但是,当它位于容器中时,它是您在
docker ps
的第一列中看到的某个十六进制ID,并且容器不能以此名称相互通信。如果使用Docker Compose,则播发的名称可以是服务名称,也可以使用自己的主机名显式启动容器。在任何其他orchestrator中,这在很大程度上取决于您的网桥,但公布物理主机IP和转发连接服务器端口将允许所有入站外部通信解析群集