当前位置: 首页 > 知识库问答 >
问题:

我可以运行多个实例的kafka流应用程序在同一application.id和不同的机器

云远
2023-03-14

我试图在不同的机器上运行kafka streams应用程序的多个实例,但出现以下错误:

无法锁定全局状态目录。如果多个KafkaStreams实例使用同一状态目录在同一主机上运行,则可能会发生这种情况。kstream-test-prod-6f9bc47d9c-bmq2z:org.apache.kafka.streams.errors。锁定异常:无法锁定全局状态目录:/tmp/kafka-streams/test-app/global

如果我在同一台机器上启动多个实例,这是可以预见的,但在这里,我在不同的机器上启动它们,仍然会遇到相同的问题。

共有1个答案

能正青
2023-03-14

您可以在不同的主机中使用相同的应用程序/客户端id运行单个kafka流的多个实例。Kafka流本身将在不同主机之间实现负载平衡。当您在同一主机中尝试多个实例时,可能会发生此锁定。请尝试清理目录,然后重试

 类似资料:
  • 我有一个应用程序需要收听多个不同的主题;每个主题都有关于如何处理消息的单独逻辑。我曾想过为每个KafkaStreams实例使用相同的kafka属性,但我得到了如下所示的错误。 错误 流处理应用程序的标识符。在Kafka集群中必须是唯一的。它用作1)默认的客户端ID前缀,2)用于成员资格管理的组ID,3)变更日志主题前缀。 问题 此错误意味着什么,以及导致此错误的原因。 假设您可以有应用程序的多个实

  • 我有一个Kafka Streams应用程序,它从很少的主题中获取数据,并将数据连接到另一个主题中。 Kafka配置: 注意:我在运行Kafka代理的同一台机器上运行Kafka Streams应用程序。 每小时消耗/产生数百万条记录。每当我让任何Kafka经纪人下岗时,都会进入重新平衡阶段,重新平衡大约需要30分钟,有时甚至更长时间,很多时候,这会扼杀许多Kafka流程。

  • 我在dockerized应用程序和Memcached上遇到了一个问题,要存储一些值,显然,当a启动一个运行Spymemcached客户端的新Docker实例时,所有存储在缓存中的数据都是无效的,所以如果我之前在节点1的缓存中存储了一些值,然后启动节点2,这些值将从Memcached服务器中清除,最后如果a在节点1上再次存储相同的值,并在节点2上查询,它们将共享到两个节点之外,而不清除数据。是预期的

  • 这可能不是典型的设置,但由于更高的决策,我们最终在一个应用程序中有多个 kafka 集群,每个集群有多个主题,每个集群可能具有不同的序列化策略。Json/avro.avro可能与融合的架构注册表一起使用,或者使用单个对象编码。 好吧,我通过构建自己的抽象和注册中心,分析配置并手动创建大部分内容,以某种方式实现了它,但我觉得我需要在几个地方多次重复主题名称、模式注册url等内容,以便创建所有需要的b

  • 这是我的节点文件 我在上有HTML 和上的节点应用程序 我也转发了3000端口到80; 我想在这个服务器上的一个不同的端口上运行多个应用程序。 我应该为其他应用程序配置什么。

  • 我正在尝试在具有不同日志目录的两个不同端口上启动kafka集群所需的两个zooKeer实例。但是当我尝试启动第二个zooKeer- D: \Kafka\Kafka\u 2.12-2.3.0-复制