惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 司徒正美
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
宝玉的分享
宝玉的分享
量子位
V
Visual Studio Blog
罗磊的独立博客
Vercel News
Vercel News
B
Blog
J
Java Code Geeks
S
SegmentFault 最新的问题
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
P
Proofpoint News Feed
GbyAI
GbyAI
G
Google Developers Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

Kafka

请问一下,多节点消费 kafka 如何做到串行消费 Kafka 消息处理冲突问题 kafka king 陆续也快有 100 个 star 了,虽然很少,但是也是对我的认可,感谢大家 求助一个 zookeeper 配置 acl, kafka 是否需要做相关修改的问题 2023 年基于 Kafka 做重试队列的最佳实践? kakfa 生产者的 ack=all 的参数会受到 broker 的最小同步副本参数的影响吗 kafka 的 producer 和 broker 的关系是什么? kafka 性能问题: kafka 传递海量小数据的时候,需要合并数据发送吗 有无 kafka 八股文或者书籍推荐 有什么好用的 kafka 桌面客户端? kafka Kraft 模式增加投票节点配置后启动报错 kafka-console-consumer.sh 同时读取某个 topic 的所有 partition 能实现吗? kafka stream 拓扑的几个疑问 在生产环境中,向 kafka 发送图片消息是否合适 kafka 消费者平滑退出一般是怎么做的? 请教 kafka 独立消费者 如果崩溃了如何获取 offset? 关于 kafka 丢数据 如何获取 KRaft Kafka 的 controller leader 如何从 Kafka 消费的数据中取最大值存储? Kafka Stream 拓扑结构可视化 Kafka 数据同步 请教一下 kafka group 数量比较大对 kafka 性能影响大吗 为什么很多场景数据先写入 kafka 再写入 elastic,而不是直接写 elastic? Golang Kafka Writer 消息被截断 kakfa producer 发消息会堵塞么? kakfa 的 producer 阻塞该怎么查 请问一下实际业务中, kafka 的消费者组一般应用于什么场景? kafka 多线程消费是否必须手动提交 offset/partion 才能避免竞争 求一个基于 kafka 的消息消费框架 kafka 如何实现每 10 秒拉一次数据? 蹲一个 Kafka 大神,新增 partition 没有引起消费组的 rebalance,偶现
请教一个使用 HAProxy 代理访问 kafka 集群的问题
967182 · 2023-04-21 · via Kafka

kafka 集群有三台机器 kafka01:9092 kafka03:9092 kafka03:9092

因为受网络原因约束不能直接访问集群,只能在服务器 192.168.30.160 上搭代理 试了两种配置方式


方式一:
listen kafka
    bind *:9092
    mode tcp
    balance roundrobin
    no option clitcpka
    timeout check 5s
    server kafka01 192.168.41.168:9092 check inter 5000 rise 2 fall 3
    server kafka02 192.168.41.169:9092 check inter 5000 rise 2 fall 3
    server kafka03 192.168.41.170:9092 check inter 5000 rise 2 fall 3

方式二:
listen kafka
    bind *:9092
    mode tcp
   balance roundrobin
    server  kafka1 127.0.0.1:8881 check
    server  kafka2 127.0.0.1:8883 check
    server  kafka3 127.0.0.1:8885 check 

listen kafka01
    bind *:8881
    mode tcp
    server  kafka1 192.168.41.168:9092 check

listen kafka02
    bind *:8883
    mode tcp
    server  kafka1 192.168.41.169:9092 check

listen kafka03
    bind *:8885
    mode tcp
    server  kafka1 192.168.41.170:9092 check

kafka client 试过这两个配置,kafka01,kafka02,kafka03 都指向了 192.168.30.160
public final static String bootstrapServers = "kafka01:9092,kafka02:9092,kafka03:9092";
public final static String bootstrapServers = "kafka01:9092";
网络测试 telnet 通,  代理和 host ping 也都通。

发送消息时报错 :


19:37:39.347 [main] INFO org.apache.kafka.clients.producer.ProducerConfig - ProducerConfig values: 
	acks = -1
	batch.size = 16384
	bootstrap.servers = [kafka01:9092]
	buffer.memory = 33554432
	client.dns.lookup = default
	client.id = 
	compression.type = gzip
	connections.max.idle.ms = 3000
	delivery.timeout.ms = 120000
	enable.idempotence = false
	interceptor.classes = []
	key.serializer = class org.apache.kafka.common.serialization.StringSerializer
	linger.ms = 500
	max.block.ms = 60000
	max.in.flight.requests.per.connection = 5
	max.request.size = 1048576
	metadata.max.age.ms = 300000
	metric.reporters = []
	metrics.num.samples = 2
	metrics.recording.level = INFO
	metrics.sample.window.ms = 30000
	partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitioner
	receive.buffer.bytes = 32768
	reconnect.backoff.max.ms = 1000
	reconnect.backoff.ms = 50
	request.timeout.ms = 10000
	retries = 0
	retry.backoff.ms = 100
	sasl.client.callback.handler.class = null
	sasl.jaas.config = null
	sasl.kerberos.kinit.cmd = /usr/bin/kinit
	sasl.kerberos.min.time.before.relogin = 60000
	sasl.kerberos.service.name = null
	sasl.kerberos.ticket.renew.jitter = 0.05
	sasl.kerberos.ticket.renew.window.factor = 0.8
	sasl.login.callback.handler.class = null
	sasl.login.class = null
	sasl.login.refresh.buffer.seconds = 300
	sasl.login.refresh.min.period.seconds = 60
	sasl.login.refresh.window.factor = 0.8
	sasl.login.refresh.window.jitter = 0.05
	sasl.mechanism = GSSAPI
	security.protocol = PLAINTEXT
	security.providers = null
	send.buffer.bytes = 131072
	ssl.cipher.suites = null
	ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
	ssl.endpoint.identification.algorithm = https
	ssl.key.password = null
	ssl.keymanager.algorithm = SunX509
	ssl.keystore.location = null
	ssl.keystore.password = null
	ssl.keystore.type = JKS
	ssl.protocol = TLS
	ssl.provider = null
	ssl.secure.random.implementation = null
	ssl.trustmanager.algorithm = PKIX
	ssl.truststore.location = null
	ssl.truststore.password = null
	ssl.truststore.type = JKS
	transaction.timeout.ms = 60000
	transactional.id = null
	value.serializer = class org.apache.kafka.common.serialization.StringSerializer

19:37:42.274 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.clients.producer.internals.Sender - [Producer clientId=producer-1] Starting Kafka producer I/O thread.
19:37:42.280 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Initialize connection to node kafka01:9092 (id: -1 rack: null) for sending metadata request
19:37:42.283 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Initiating connection to node kafka01:9092 (id: -1 rack: null) using address kafka01/192.168.30.160
19:37:42.287 [main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.4.1
19:37:42.287 [main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: c57222ae8cd7866b
19:37:42.288 [main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 1682077062274
19:37:42.296 [main] DEBUG org.apache.kafka.clients.producer.KafkaProducer - [Producer clientId=producer-1] Kafka producer started
19:37:45.442 [main] INFO com.example.demokafka.test.TestProduct - 准备发送
19:38:00.121 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.common.network.Selector - [Producer clientId=producer-1] Created socket with SO_RCVBUF = 32768, SO_SNDBUF = 131072, SO_TIMEOUT = 0 to node -1
19:38:00.432 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Completed connection to node -1. Fetching API versions.
19:38:00.432 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Initiating API versions fetch from node -1.
19:38:00.577 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.common.network.Selector - [Producer clientId=producer-1] Connection with kafka01/192.168.30.160 disconnected
java.io.EOFException: null
	at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:96)
	at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:424)
	at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:385)
	at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:651)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:572)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:483)
	at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:547)
	at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:335)
	at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:244)
	at java.base/java.lang.Thread.run(Thread.java:834)
19:38:00.579 [kafka-producer-network-thread | producer-1] DEBUG org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Node -1 disconnected.
19:38:00.583 [kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Bootstrap broker kafka01:9092 (id: -1 rack: null) disconnected

实在想不通是啥问题了,望大佬能赐教。