Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡流部署策略_Apache Kafka_Kafka Consumer Api_Apache Kafka Streams - Fatal编程技术网

Apache kafka 卡夫卡流部署策略

Apache kafka 卡夫卡流部署策略,apache-kafka,kafka-consumer-api,apache-kafka-streams,Apache Kafka,Kafka Consumer Api,Apache Kafka Streams,团队, Kafka streams应用程序部署应遵循什么策略 我们有一个应用服务器集群,根据部署策略,我们使用Jenkins CI/CD进行jar部署。 我们来平衡问题了。应用程序部署后, 在3-5分钟内,所有服务启动,组进入重新平衡状态 在部署之前,为分配的分区和使用者创建快照 TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID

团队, Kafka streams应用程序部署应遵循什么策略

我们有一个应用服务器集群,根据部署策略,我们使用Jenkins CI/CD进行jar部署。 我们来平衡问题了。应用程序部署后, 在3-5分钟内,所有服务启动,组进入重新平衡状态

在部署之前,为分配的分区和使用者创建快照

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID                                       HOST                           CLIENT-ID
METRICS                        62         70306073        70307980        1907       METRICS-0d65d2ba-06ce-4488-bd4b-7509391d6f08-StreamThread-5-consumer-540b76ab-8374-4e99-8507-c3003488c61b/172.24.xx.xx                  METRICS-0d65d2ba-06ce-4488-bd4b-7509391d6f08-StreamThread-5-consumer
METRICS                        30         73200612        73202022        1410       METRICS-ef9ac162-5e7f-4695-88c4-0660485a3f29-StreamThread-2-consumer-20919608-c5e9-4263-852b-04ae7f16bcf9/172.24.xy.xy                  METRICS-ef9ac162-5e7f-4695-88c4-0660485a3f29-StreamThread-2-consumer
METRICS                        31         75197907        75199506        1599       METRICS-784f2d93-9cee-445f-ae19-1eea98a2dd11-StreamThread-3-consumer-6211abf7-47b6-443d-8047-301fbd6a0ebf/172.24.xz.xz                  METRICS-784f2d93-9cee-445f-ae19-1eea98a2dd11-StreamThread-3-consumer
部署/重新启动分区后,将分区与不同的使用者对齐:

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID                                       HOST                           CLIENT-ID

METRICS                        62         72423124        72424080        956        METRICS-7617b646-a9f8-4cee-ad40-3ace6e1cca1e-StreamThread-4-consumer-687ac6fb-5915-478a-87f6-25204f8261dc/172.24.3x.xx                  METRICS-7617b646-a9f8-4cee-ad40-3ace6e1cca1e-StreamThread-4-consumer

METRICS                        30         74813289        74814057        768        METRICS-2535d442-1f58-4c1a-bbd5-c0ef46a074d7-StreamThread-3-consumer-0496332f-4a60-42d3-98e9-d1ef9ef7e26a/172.24.3x.xx                  METRICS-2535d442-1f58-4c1a-bbd5-c0ef46a074d7-StreamThread-3-consumer
为了克服这种情况,我们尝试了设置卡夫卡消费者超时策略来避免相同的情况,但它似乎对我不起作用

/XXX/kafka-1.0.0/bin/kafka-consumer-groups.sh --bootstrap-server 172.29.XX.XXX:9092 --describe --group GROUPNAME --timeout 300000

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID                                       HOST                           CLIENT-ID
GROUPNAME                        69         73592702        73593636        934        METRICS-0ae9cabe-4879-4400-b111-84580ea3118b-StreamThread-2-consumer-021397b6-87b3-49fb-ae01-b0acbc54cfc5/172.24.xx.xx                  METRICS-0ae9cabe-4879-4400-b111-84580ea3118b-StreamThread-2-consumer
所以,如果有人能帮助我们在部署更改后获得分区的粘性分配(分区应该分配给部署前的同一节点),那就太好了。
提前谢谢

如果停止并重新启动Kafka Streams应用程序,默认情况下它将生成新ID。但这并不意味着分区被重新分配到了不同的主机

您还可以通过
StreamsConfig.CLIENT\u ID\u CONFIG
为每个主机分配固定客户端ID,您可以将其传递到Kafka Streams配置中