大数据-62 Kafka 高级特性 主题 kafka-topics相关操作参数 KafkaAdminClient 偏移量管理

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(正在更新…)

章节内容

上节我们完成了如下的内容,基本都是特性概念相关的:

  • Kafka 主题与分区
  • Kafka 自定义反序列化
  • Kafka 拦截器
  • Kafka 位移提交
  • Kafka 位移管理
  • Kafka 重平衡

在这里插入图片描述

kafka-topics

相关参数

在这里插入图片描述
在这里插入图片描述

创建主题

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --create --topic topic_test_1 --partitions 1 --replication-factor 1

查看主题

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --list
kafak-topics.sh --zookeeper h121.wzk.icu:2181 --describe --topic topic_test_1

修改主题

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --create --topic topic_test_1 --partitions 2 --replication-factor 1

删除主题

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --delete --topic topic_test_1

增加分区

通过命令行工具操作,只能够增加,不能够减少。

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --create --topic topic_test_1 --partitions 1 --replication-factor 1
kafka-topics.sh --zookeeper h121.wzk.icu:2181 --alter --topic topic_test_2 --partions 2

分区副本

副本分配的三个目标:

  • 均衡的将副本分散到各个Broker上
  • 对于某个Broker上分配的分区,它的其他副本在其他Broker上
  • 如果所有的Broker都有机架信息,尽量将分区的各个副本分配到不同机架上的Broker

在不考虑机架信息的情况下:

  • 第一个副本分区通过轮询的方式挑选一个Broker,进行分配。该轮询从Broker列表的随机位置进行轮询。
  • 其余副本通过增加偏移量进行分配

必要参数

在这里插入图片描述

KafkaAdminClient

除了使用Kafka的Bin目录下的脚本来管理Kafka,还可以使用管理Kafka的API将某些管理查看的功能集成到系统中。
在Kafka 0.11 版本之前,可以通过kafka-core包(Kafka服务端,Scala)中的AdminClient和AdminUtils来实现部分集群管理操作。
在Kafka 0.11之后,多了一个AdminClient,在kakfa-client包下,一个抽象类:KafkaAdminClient。

基本介绍

基本功能包含如下:

  • 创建主题:createTopics
  • 删除主题:deleteTopics
  • 列出所有主题:listTopics
  • 查询主题:describeTopics
  • 查询集群:describeCluster
  • 查询配置:describeConfigs
  • 修改配置:alterConfigs
  • 修改副本的日志目录:alterReplicaLogDirs
  • 查询节点的日志目录信息:describeLogDirs
  • 查询副本的日志目录信息:describedReplicaLogDirs
  • 增加分区:createPartitions

操作步骤

  • 客户端根据方法的调用,创建出相应的协议请求,比如创建:Topic的createTopics方法,其内部就是发送CreateTopicRequest请求。
  • 客户端发送请求到KafkaBroker
  • KafkaBroker处理相应的请求并回执,CreateTopicResponse,客户端接受并解析处理。

如果要自己实现一个功能,需要:

  • 自定义XXOptions
  • 自定义XXResult返回值
  • 自定义Call,挑选合适的XXRequest和XXResponse

偏移量管理

在Kafka 1.0.2版本,在 __consumer_offsets 主题中保存各个消费组的偏移量。
早期是子啊ZooKeeper中管理消费偏移量。

脚本参数

脚本名称为:bin/kafka-consumer-groups.sh
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

查看GroupID消费

查看当前有哪些GroupID正在进行消费,这里没有指定Topic,查看的是所有Topic消费的GroupId的列表。

kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092 --list

查看指定ID消费

kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092 --describe --group group 

设置偏移量为最早

kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092 --reset-offsets --group group --to-earliest --topic test_demo

设置偏移量为最新

kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092  --reset-offsets --group group --to-latest --topic test_demo
  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武子康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值