Sommaire de cet article :

kafak管理常用的工具是kafka-manager和kakfa-eagle.这两个工具在分区管理上都是只管加不管减,副本调整的话,也不支持,只能自己手工操作.本文的操作也是去年双十一的沉淀,没想到今年又用了一次,索性记录下来.

这里需要一个json文件,示例如下

bash-4.3# cat increase-replication-factor.json

{

"version":1,

"partitions":[

{

"topic":"test-topic",

"partition":0,

"replicas":[

1

]

},

{

"topic":"test-topic",

"partition":1,

"replicas":[

2

]

},

{

"topic":"test-topic",

"partition":2,

"replicas":[

3

]

}

]

}

需要增加分区,就增加下面的块

{

"topic":"test-topic",

"partition":4,

"replicas":[

3

]

}

其中partition要不重复,replicas要根据节点数循环.

需要增加副本,就修改

"replicas":[

3,2

]

两个副本就有两位,三个副本就有三位.

执行修改

会返回当前的配置,记得保存一下,万一搞错了,恢复时用

bash-4.3# kafka-reassign-partitions.sh \

--zookeeper 192.168.0.1:2181 \

--reassignment-json-file increase-test-topic.json \

--execute

Current partition replica assignment

{"version":1,"partitions":[{"topic":"test-topic","partition":0,"replicas":[3],"log_dirs":["any"]},{"topic":"test-topic","partition":2,"replicas":[2],"log_dirs":["any"]},{"topic":"test-topic","partition":1,"replicas":[1],"log_dirs":["any"]}]}

Save this to use as the --reassignment-json-file option during rollback

验证修改

需要清楚,无论分区的增加还是副本的调整都有一个过程,会有数据的移动,再进行后面的操作前要等上一个操作完成

bash-4.3# kafka-reassign-partitions.sh \

--zookeeper 192.168.0.1:2181 \

--reassignment-json-file increase-test-topic.json \

--verify

Status of partition reassignment:

Reassignment of partition test-topic-0 completed successfully

Reassignment of partition test-topic-1 completed successfully

Reassignment of partition test-topic-2 completed successfully

Partitions reassignment failed due to Partition reassignment data file is empty

kafka.common.AdminCommandFailedException: Partition reassignment data file is empty

at kafka.admin.ReassignPartitionsCommand$.parseAndValidate(ReassignPartitionsCommand.scala:266)

at kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:194)

at kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:190)

at kafka.admin.ReassignPartitionsCommand$.main(ReassignPartitionsCommand.scala:61)

at kafka.admin.ReassignPartitionsCommand.main(ReassignPartitionsCommand.scala)Partitions reassignment failed due to Partition reassignment data file is empty

kafka.common.AdminCommandFailedException: Partition reassignment data file is empty

at kafka.admin.ReassignPartitionsCommand$.parseAndValidate(ReassignPartitionsCommand.scala:266)

at kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:194)

at kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:190)

at kafka.admin.ReassignPartitionsCommand$.main(ReassignPartitionsCommand.scala:61)

at kafka.admin.ReassignPartitionsCommand.main(ReassignPartitionsCommand.scala)

解决:

一般是json文件格式不对,少逗号或多逗号

{

"version":1,

"partitions":[

{"topic":"test_topic","partition":0,"replicas":[1,2,3]},

{"topic":"test_topic","partition":1,"replicas":[1,2,3]},

{"topic":"test_topic","partition":2,"replicas":[1,2,3]}

{"topic":"test_topic","partition":3,"replicas":[1,2,3]}

]

}

弄了一个微信群欢迎正常学习elk的朋友扫码交流.

相关博文

kafka修改分区数_ELK|kafka增加分区或调整副本数相关推荐

  1. kafka修改分区数_大数据技术:解析SparkStreaming和Kafka集成的两种方式

    Spark Streaming是基于微批处理的流式计算引擎,通常是利用Spark Core或者Spark Core与Spark Sql一起来处理数据.在企业实时处理架构中,通常将Spark Strea ...

  2. kafka修改分区数_Kafka笔记

    一.kafka基本介绍 1概念:是一个分布式的基于发布/订阅模式的消息队列,应用于大数据实时处理 1.消息队列(topic): 优点:解耦 可恢复性 缓冲 削峰 异步通信 两种模式: 点对点模式:一对 ...

  3. kafka修改服务器时间,Kafka笔记2--Kafka的服务端配置

    #指定 kafka集群中 broker 的全局编号,每一个 broker 的编号不能重复. broker.id=0#Listeners 指明 broker 监听客户端连接的地址列表,即客户端要连接 b ...

  4. 增加(或减少)Kafka topic的副本数

    之前的文章讲述了Kafka的分区重分配,该方法同样可以用来增加或减少Kafka topic的副本数.该方法,可灵活地运用于提高topic的高可用性,提高数据的读写等场景. 目录 从一个副本数,增加到2 ...

  5. Hello Kafka(五)——Kafka管理

    一.Kafka工具脚本简介 1.Kafka工具脚本简介 Kafka默认提供了很多个命令行脚本,用于实现各种各样的功能和运维管理.默认情况下,不加任何参数或携带--help运行Kafka shell脚本 ...

  6. kafka 修改分区_kafka的分区数设置

    越多的分区可以提供更高的吞吐量 首先我们需要明白以下事实:在kafka中,单个patition是kafka并行操作的最小单元.在producer和broker端,向每一个分区写入数据是可以完全并行化的 ...

  7. kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)

    文章目录 前言 1. 基础概念 Broker Producer Consumer Consumer Group Topic Partition Replica 2. 命令行操作 2.1 查看所有top ...

  8. kafka 修改分区_kafka修改分区和副本数

    kafka修改分区和副本数 查看现在副本分配情况 ../bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe --topic test1 ...

  9. kafka专题:kafka的Topic主题、Partition分区、消费组偏移量offset等基本概念详解

    文章目录 1. kafka集群整体架构 2. kafka相关元素的基本概念 2.1 主题Topic和分区Partition 2.2 kafka消息存储在哪里? 2.3 分区副本 2.4 消费组和偏移量 ...

最新文章

  1. Php传图缩图,使用以下用于上传图像的PHP代码上传时缩小图像大小
  2. 空调自控系统基础知识及应用
  3. 索尼发布工业设备用SWIR图像传感器 采用5微米像素尺寸
  4. 智慧数字门店管理系统、PAD、门店系统、收银开单、预约服务、会员管理、账单管理、数据统计、商品、库存、美容美体、美甲美睫、医疗美容、美发造型、医疗诊所、中医理疗、宠物服务、美业、经营业务、售卡、交班
  5. Docker容器实现SSH连接
  6. java book_java_book java 图书管理系统 GUI - 下载 - 搜珍网
  7. 计算机恢复原始桌面图标,Win10桌面图标如何恢复原来排列?
  8. DS18B20温度传感器(STM32F103C8T6)
  9. matlab学习五,二元函数绘图方法
  10. 年底了,你总结了吗?我先来。
  11. makefile学习笔记
  12. 计算机中常用于比较的图表有,2013年职称计算机Excel考点:常用图表类型
  13. 管壳式程序c语言,换热器模型原程序(C语言).doc
  14. Java各种数据类型互转
  15. 怎么让计算机休眠的时候不断网,Windows10系统如何让电脑睡眠状态也不断网?
  16. SQL渗透与防御——(二)SQL注入
  17. pcs增加mysql资源_PCS --- 常用命令及配置
  18. Kafka动态认证SASL/SCRAM配置+整合springboot配置
  19. j4125和n5095 参数对比
  20. 前端之JS篇(四)——三种循环(forwhiledo...while)

热门文章

  1. BZOJ 1015 题解
  2. 精通 Oracle+Python,第 4 部分:事务和大型对象
  3. oracle表空间的创建、修改、删除及一些参数解释
  4. [bzoj3676]回文串[后缀数组+Manacher]
  5. WF+WCF+WPF第三天-WF实现一个软件自动测试框架
  6. 面向过程与面向对象 程序设计
  7. linux主机添加discuz伪静态规则,Discuz! X2.5论坛win主机与linux主机伪静态设置方法...
  8. MySQL update For_mysql SELECT FOR UPDATE语句使用示例
  9. 运行后闪退_好消息好消息,王者荣耀闪退问题苹果也修复啦
  10. php服务器错误日志在哪里看,PHP取服务器错误日志