kafka的分区和副本数

kafka的分区和副本数

   小白     2022年8月1日 21:19     1529    

[2022-06-15 11:10:12,783] INFO [Admin Manager on Broker 0]: Error processing create topic request for topic zhangjunzhe with arguments (numPartitions=3, replicationFactor=3, replicasAssignments={}, configs={}) (kafka.server.AdminManager)

org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.

目前只要1个broker,确要创建3个副本所以产生了错误。


kafka有默认的参数


num.partitions=3

每个主题的默认日志分区数。更多的分区允许使用更大的并行性,但这也会导致跨代理的文件更多。

如果使用程序去自动创建的topic的时候,这个参数就会起作用,默认就去创建拥有三个partition的topic

如果是手动去自行创建,就自行配置任意的数量。


默认分区副本

default.replication.factor=3

创建的副本数一定要小于节点数。


通过命令行去手动修改已经创建的topic的分区数

kafka-topics.sh可以用来创建、删除、查看以及更新topic

(1)更新topic的分区数

./kafka-topics.sh --alter --zookeeper zookeeper地址 --topic topic名称 --partitions 分区数

2.13版本之后需要使用以下命令

./kafka-topics.sh --alter --bootstrap-server kafka地址 --topic topic名称 --partitions 分区数

(2)创建topic

./kafka-topics.sh --create --zookeeper  zookeeper地址 --replication-factor 副本数 --partitions 分区数 --topic topic名称

(3)查看topic

./kafka-topics.sh --describe --zookeeper  zookeeper地址 --topic topic名称

文章评论

0

其他文章