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
Apache kafka 如果我当前运行的kafka代理已经有数据,如何在本地计算机中再添加两个kafka代理_Apache Kafka - Fatal编程技术网

Apache kafka 如果我当前运行的kafka代理已经有数据,如何在本地计算机中再添加两个kafka代理

Apache kafka 如果我当前运行的kafka代理已经有数据,如何在本地计算机中再添加两个kafka代理,apache-kafka,Apache Kafka,我有一个代理运行在我的本地机器与Windows操作系统,其中有2-3个主题与消息存储。我想通过再添加两个代理实例来扩展我的机器。通过创建不同的属性文件,我按照所有步骤在相同的机器上配置了3个代理 当我启动broker=1服务器时,我的broker=0正在关闭,错误如下 [2019-07-11 13:56:33580]目录C中停止服务日志的信息:\kafka_2.12-2.2.1\data\kafka(kafka.log.LogManager) [2019-07-11 13:56:33585]关闭

我有一个代理运行在我的本地机器与Windows操作系统,其中有2-3个主题与消息存储。我想通过再添加两个代理实例来扩展我的机器。通过创建不同的属性文件,我按照所有步骤在相同的机器上配置了3个代理

当我启动
broker=1
服务器时,我的
broker=0
正在关闭,错误如下

[2019-07-11 13:56:33580]目录C中停止服务日志的信息:\kafka_2.12-2.2.1\data\kafka(kafka.log.LogManager) [2019-07-11 13:56:33585]关闭代理时出错,因为C:\kafka_2.12-2.2.1\data\kafka中的所有日志目录都失败(kafka.log.LogManager)

如果我现有的代理实例有数据,是否可以添加更多代理。
或者我需要删除数据目录并重新启动代理0。是否有可能在不从kafka服务器删除数据的情况下保留数据。

是的,您可以将代理添加到集群中,并在所有代理之间迁移/传播数据

文档中的部分详细介绍了实现此目的的步骤

启动新代理后,基本上需要使用
bin/kafka reassign partitions.sh
工具(也存在其他第三方工具)将数据移动到这些代理上


但是,请注意,在同一台机器上添加代理不会提供很多恢复能力,因为如果该机器将停机,所有代理都将受到影响。但是,如果您只想玩一玩并了解卡夫卡,这可能没问题。

要在同一台物理机器上运行多个代理,配置中的每个代理都必须指定唯一的broker.id、不同的log.dirs侦听器中的端口

比如说,

config/server{1,2,3}.properties
在每个配置集中都有差异

broker.id=<id>
log.dirs=/data/kafka<id>
listeners=PLAINTEXT://localhost:909<id>

broker.id=
log.dirs=/data/kafka
listeners=PLAINTEXT://localhost:909

当所有三个代理都启动时,新主题将在整个集群中均匀创建,但旧主题需要重新平衡。

我已经实现了您指定的上述步骤。我面临的问题是,当我在不同的终端启动另一个代理时,启动第一个代理(主题为messaged)后,第一个代理停止,而不影响第二个代理。我将log.dir编辑到新目录,并能够在同一台机器上启动不同的代理。我发现的一件事是,元数据被复制到broker=0。这意味着我可以看到具有旧设置的主题,但在broker=0中没有消息。>我发现的一件事是,元数据被复制到broker=0。这意味着我可以看到具有旧设置的主题,但在broker=0中没有消息。我很抱歉,但我不太明白它的意思,您不能说得更详细,但最好附加完整的配置以及如何启动您是否有您提到的第三方工具的示例?