kafka运维

本文档详述了Kafka集群的运维操作,包括新增/删除topics、修改配置、优雅关闭、均衡leader、集群间数据复制、消费者消费进度查看、集群扩容与缩容、增加副本数及设置配额。此外,还涵盖了Kafka配置、硬件和系统要求以及Zookeeper的稳定版本和优化建议。
摘要由CSDN通过智能技术生成

Kafka 运维手册

 

 

 

 

 

 

 

 

编制

架构设计部 伍超

审核

 

批准

 


 

1.编写说明

以下是LinkedIn在生产中使用kafka集群的一些经验和信息,基于kafka0.9.0版本官方文档翻译。;

2.基本运维

这个章节将说明在运维kafka集群时最常见的操作,所提到的工具都位于kafka安装路径下的bin/目录,每个工具会打印详细使用信息如果没有指定参数。

2.1新增/删除topics

你可以手动新增或利用程序自动创建不存在的topics,如果是自动创建,你可以在broker配置文件server.properties里调整topic的相关默认参数。

通过工具新增或修改topics:

>bin/kafka-topics.sh --zookeeper zkhost:port --create --topic topicname --partitions 6 --replication-factor 3 --config x=y

参数replication-factor控制写入的信息会复制到多少个broker中。如果该参数设置为3,在可以正常访问数据的前提下将允许最多2个broker挂掉。通常建议使用2或3副本,这样可以提高系统的可用性。

参数partitions控制topic可以划分为多少个分区,每个分区只对应一个broker,分区的个数也影响着可以同时进行消费的消费者个数,每个分区只能被同一个消费者组内的其中一个消费者消费,但可以被不同消费者组内的消费者同时消费。

工具指定的配置参数在运行时会覆盖配置文件里对应的配置参数。

2.2修改topics

你可以通过工具修改一个topic的配置或分区数量。

新增分区数量:

>bin/kafka-topics.sh –zookeeper zkhost:port –alter –topic topicname –partitions 6

注意partition作用之一是划分数据,新增partitions不会改变集群中已经存在的数据的原有分区。也就是如果数据以hash(key)%number-of-partitions的方式分配,那新收到的数据可能会被分配到新的分区,但kafka不会自动重新分配已存在的数据。

新增配置

>bin/kafka-topics.sh –zookeeper zkhost:port –alter –topic topicname –config x=y

移除配置

>bin/kafka-topics.sh –zookeeper zkhost:port –alter –topic topicname –delete-config x

最后删除topic

>bin/kafka-topics.sh –zookeeper zkhost:port –delete –topic topicname

Topic删除选项默认是关闭的,通过设置broker配置参数delete.topic.enable=true来开启

Kafka目前还不支持削减topic的partitions的数目。

2.3优雅的关闭

Kafka集群会自动检测是否有broker宕机或服务挂了,并为相关的partitions选取新的leader。Kafka支持一种更优雅的关闭服务机制而不是强制杀死它。当服务优雅的关闭时会有两个好处:

1.       首先,它会同步所有的数据到磁盘而不需要再重启的时候去恢复数据,数据恢复会耗费更多的时间;

2.       其次,他会在服务关闭前将leader partitions迁移到其他副本。这样使leader partitions选取的更快从而减小了partition不可用的时间。

当服务停止而不是强制杀死服务的时候,自动同步数据到磁盘会自动进行,但是leader的迁移需要broke

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值