如何将主题分区分成多个kafka服务器?

How to separate topic partitions into multiple kafka servers?

我想像这样将主题分区分成多个kafka服务器picture。

示例:我只有一个主题“Test”,我有两个kafka服务器(k1,k2),我有4个主题“Test”的分区。我想要服务器 k1 有分区 0 和 1,服务器 k2 有分区 2、3。

Kafka 服务器只不过是多个代理。请按照以下步骤操作,

  1. config/server.properties文件复制到您需要的服务器数量。在你的情况下是两个。将文件复制到两个不同的文件并更改代理 ID 和端口

    我。 server_K1.properties(您可以根据需要提供文件名),如下更改文件属性。
    broker.id=1
    port=9092
    log.dir=/tmp/kafka-logs-1

    二。 server_K2.properties
    broker.id=2
    port=9093
    log.dir=/tmp/kafka-logs-2

使用以上两个配置启动kafka服务器

bin/kafka-server-start.sh config/server_K1.properties
bin/kafka-server-start.sh config/server_K2.properties

通过提供复制因子,主题将在代理之间复制。并且根据您创建的分区和您接收的数据量,分区在代理之间共享。

您可以在创建主题时创建 4 个分区,这些分区将在代理之间共享。