kafka基本操作

作者: liwsh | 来源:发表于2018-06-11 12:27 被阅读0次

       kafka的基本管理命令都在安装目录下面的bin文件夹。跳转到安装目录,可以执行一下基本的管理命令,比如创建topic,管理消费组,消费组消费进度查询等

1. 创建topic

bin/kafka-topics.sh --zookeeper zk_host:port/chroot--create --topic my_topic_name  --partitions 20 --replication-factor 3

partitions为分区数,分区越多,并发能力越强。replication_factor为副本数,避免单点故障

2. 修改topic

bin/kafka-topics.sh --zookeeper zk_host:port/chroot--alter --topic my_topic_name  --partitions 40

partitions数量改为40,可能因为消费端能力不够,需要增加消费者

3. 优雅的关机

      broker意外关闭的时候,没有所谓的优雅关机,只能够等待重新选举出leader。如果broker主动关闭,可以设置一个参数controlled.shutdown.enable=true来控制是否优雅的关闭。如果参数为true,那么broker关闭前,会将自己节点的为leader的partition的领导权限转交给其他节点。这样,减少了重新选举造成topic不可用的时间。

4. broker自动平衡

      当一个broker主动关闭或者crash的时候,partition的领导权限将会转交给其他broker。如果crash的broker重新启动,它将只会是其他broker的follower,不会被客户端使用。这样会导致每个broker的压力不平衡。这个时候,我们可以设置一些参数,让broker们自动平衡:

# 是否自动平衡broker之间的分配策略
auto.leader.rebalance.enable = true
# leader的不平衡比例,若是超过这个数值,会对分区进行重新的平衡leader.imbalance.per.broker.percentage = 10
# 检查leader是否不平衡的时间间隔
leader.imbalance.check.interval.seconds = 300

5. 查看消费进度

      当一个topic被很多消费者消费的时候,我们可能需要知道某一个消费者的消费进度情况,可以运行以下命令进行查看:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-group

这条命令是查看消费组my_group的消费进度。如果是老版本的kafka,需要通过如下命令查看

bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --describe --group my-group

因为新版本的kafka,offset才存放在broker,老版本0.8及以下存放在zookeeper。

6. 增加副本

当我们新建topic没有指定副本的时候,后续如果认为不安全,需要增加副本的话,需要如下操作

cat increase-replication-factor.json

{"version":1,

"partitions":[{"topic":"foo","partition":0,"replicas":[5,6,7]}]}

第一步,新建一个json文件,表示要修改哪个topic,副本存放到哪几个broker。比如上面的例子是leader在5号broker,需要在6,7号broker新增2个副本。

bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --execute

第二步,执行定义好的分配方案,会有提示

bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --verify

第三步,验证

相关文章

  • Apache Kafka -4 基本操作

    Apache Kafka教程 之 Apache Kafka - 基本操作 原文地址: http://blogxi...

  • kafka基本操作

    kafka的基本管理命令都在安装目录下面的bin文件夹。跳转到安装目录,可以执行一下基本的管理命令,比如创建...

  • kafka基本操作

    1、查看topic列表 bin/kafka-topics.sh --list --zookeeper 127.0....

  • kafka基本操作

    在学习kafka集群之前,先来学习下单节点kafka的一些基本操作,包括安装及一些基本命令,以便后续集群环境的学习...

  • 2019-10-27

    Kafka基本操作 1. 查看Topic --list命令(列举所有主题): kafka-topics.sh –l...

  • Kafka基本操作命令

    Kafka支持的基本命令位于${KAFKA_HOME}/bin文件夹中,主要是kafka-topics.sh命令;...

  • kafka入门

    #基本操作参考:http://kafka.apache.org/quickstart#quickstart_mul...

  • kafka 安装和基本操作

    kafka 的版本差异 安装kafka(1.x集群版) 分别在三台机器执行以下步骤: tar -zxvf . 进...

  • kafka安装

    kafka 集群安装 Kafka常用操作命令

  • 使用php连接操作kafka

    使用php连接操作kafka,从安装kafka到引入php扩展来操作kafka。 一、安装 注:需安装JDK 1....

网友评论

    本文标题:kafka基本操作

    本文链接:https://www.haomeiwen.com/subject/ysaceftx.html