如何将主题分区分成多个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 服务器只不过是多个代理。请按照以下步骤操作,
将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 个分区,这些分区将在代理之间共享。
我想像这样将主题分区分成多个kafka服务器picture。
示例:我只有一个主题“Test”,我有两个kafka服务器(k1,k2),我有4个主题“Test”的分区。我想要服务器 k1 有分区 0 和 1,服务器 k2 有分区 2、3。
Kafka 服务器只不过是多个代理。请按照以下步骤操作,
将
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 个分区,这些分区将在代理之间共享。