小编Vin*_*lai的帖子

如果一个代理关闭,流应用程序中的 KafkaStream EXACTLY_ONCE 会导致无法重新平衡

我有一个带有 kafka-streams 和 kafka-clients 的 Kafka 流应用程序,它们都是 2.4.0,具有以下配置

properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, brokers);
properties.put(StreamsConfig.PROCESSING_GUARANTEE_CONFIG, StreamsConfig.EXACTLY_ONCE);
Run Code Online (Sandbox Code Playgroud)
  • 经纪人= ip1:port1, ip2:port2,ip3:port3,
  • 主题分区:3
  • 主题复制:3

场景 1:我只启动 2 个代理(流应用程序在代理 ip 设置中仍然包含三个代理的 ip),当我启动我的流应用程序时出现以下错误。

2020-02-13 13:28:19.711  WARN 18756 --- [-1-0_0-producer] org.apache.kafka.clients.NetworkClient   : [Producer clientId=my-app1-a4c8867f-b914-49bb-bc58-203349700828-StreamThread-1-0_0-producer, transactionalId=my-app1-0_0] Connection to node -2 (/ip2:port2) could not be established. Broker may not be available.
Run Code Online (Sandbox Code Playgroud)

1分钟后

org.apache.kafka.streams.errors.StreamsException: stream-thread [my-app1-a4c8867f-b914-49bb-bc58-203349700828-StreamThread-1] Failed to rebalance.
    at org.apache.kafka.streams.processor.internals.StreamThread.pollRequests(StreamThread.java:852)
    at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:743)
    at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:698)
    at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:671)
Caused by: org.apache.kafka.streams.errors.StreamsException: stream-thread [my-app1-a4c8867f-b914-49bb-bc58-203349700828-StreamThread-1] task [0_0] Failed to initialize task 0_0 due to timeout. …
Run Code Online (Sandbox Code Playgroud)

java apache-kafka apache-kafka-streams

5
推荐指数
0
解决办法
1114
查看次数

(如何使用rest高级客户端和spring实现分页?)或elasticsearchTemplate.queryForPage()的替代方案

我在从传输客户端迁移到 Rest 高级客户端时遇到问题。以下代码不适用于 RestHighLevelClient,我想用它来获取 Class 类型的聚合页面的响应。

elasticsearchTemplate.queryForPage(searchQuery, Class.class)
Run Code Online (Sandbox Code Playgroud)

也欢迎使用其他方法实现相同的任何建议。

elasticsearch

4
推荐指数
1
解决办法
3078
查看次数