首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka集群配置问题

Kafka集群配置问题
EN

Stack Overflow用户
提问于 2020-02-17 09:56:54
回答 2查看 2.4K关注 0票数 2

我面临一个问题,卡夫卡集群设置,我有。我有一个卡夫卡集群,有两个经纪人连接到两个动物园管理员。我将数据发布到一个具有复制因子和分区的主题上,每个主题都带有一个spring引导卡夫卡生产者,并使用另一个spring引导应用程序进行消费。

我在以以下方式测试集群时发现了一种奇怪的行为-

代码语言:javascript
复制
 Turned off node1 and node 2
 Turned on node 1
 Turned off node 1
 Turned on node 2

在打开节点2之后,Kafka集群失败了,我无法向Kafka提供数据。我的消费者开始像下面这样不断地传递信息。

未能建立到节点1 (/server1-ip:9092)的Producer clientId=producer-1连接。可能找不到经纪人。

问题在两个节点中都是可见的。但是,如果我让这两个系统保持一段时间,问题就会得到解决,并且我可以在不破坏集群的情况下关闭任何节点。

我的代理配置如下.

broker.id=0

侦听器=明文://server1-ip:9092

advertised.listeners=PLAINTEXT://serever1-ip:9092

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

Log.dirs=/home/user/kafka/data/kafka-log

num.partitions=1

num.recovery.threads.per.data.dir=2

offsets.topic.replication.factor=2

transaction.state.log.replication.factor=2

transaction.state.log.min.isr=2

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

连接=serever1-IP:2181,serever2-ip:2181

zookeeper.connection.timeout.ms=6000

group.initial.rebalance.delay.ms=3000

auto.leader.rebalance.enable=true

leader.imbalance.check.interval.seconds=5

动物园管理员配置

dataDir=/home/user/kafka/data

clientPort=2181

maxClientCnxns=0

initLimit=10

syncLimit=5

tickTime=2000

服务器1=服务器1-ip:2888:3888

服务器2=服务器2-ip:2888:3888

这是卡夫卡的预期行为,还是我做错了这个配置?

有人能帮我解决这个问题吗..。

EN

回答 2

Stack Overflow用户

发布于 2020-02-17 10:52:59

您应该在生产者和消费者信任中向bootstrap.servers属性添加所有代理地址。通过这种方式,您可以在一个或多个服务器发生故障时连接到Kafka集群。

bootstrap.servers:用于建立与

集群的初始连接的主机/端口对的列表。客户端将使用所有服务器,不管这里指定了哪些服务器进行引导--这个列表只会影响用于发现完整服务器集的初始主机。此列表应以host1:port1、host2:port2、.的形式显示。由于这些服务器只是用于初始连接以发现完整的集群成员资格(这可能会动态变化),所以这个列表不需要包含完整的服务器集(不过,如果服务器关闭了,您可能需要不止一个服务器)。

票数 1
EN

Stack Overflow用户

发布于 2020-02-17 10:03:07

在属性文件中添加所有引导服务器in。如果服务器中的任何人停机,Kafka消费者将尝试使用其他引导服务器连接到Kafka。在下面的行中添加服务器2 url:

编辑:

代码语言:javascript
复制
spring.kafka.bootstrap-servers={SERVER1_HOST},{SERVER2_HOST}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60259857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档