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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据-62 Kafka 高级特性 主题 kafka-topics相关操作参数 KafkaAdminClient 偏移量管理

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

目前已经更新到了:

Hadoop(已更完)

HDFS(已更完)

MapReduce(已更完)

Hive(已更完)

Flume(已更完)

Sqoop(已更完)

Zookeeper(已更完)

HBase(已更完)

Redis (已更完)

Kafka(正在更新…)

章节内容

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


Kafka 主题与分区

Kafka 自定义反序列化

Kafka 拦截器

Kafka 位移提交

Kafka 位移管理

Kafka 重平衡

0a9bd75aba4d70d89cf8b3317156e292_bb2385e5a8514873b196b0bb7efa6f4b.png

kafka-topics

相关参数

e102263404746513c2dc2aada2ae7149_f49cc5482e7c45d2aa6b8a971f32d69b.png

创建主题

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
• 1

修改主题

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

删除主题

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

9353affdb38d2da54b575bde0fc471cc_776f6c82d4274f29b86ad3637edf9784.png 查看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

设置偏移量为最新

kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092  --reset-offsets --group group
目录
相关文章
|
1月前
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
51 2
|
1月前
|
SQL 大数据 API
大数据-118 - Flink DataSet 基本介绍 核心特性 创建、转换、输出等
大数据-118 - Flink DataSet 基本介绍 核心特性 创建、转换、输出等
53 0
|
1月前
|
消息中间件 关系型数据库 MySQL
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
131 0
|
1月前
|
消息中间件 分布式计算 NoSQL
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
40 0
|
1月前
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
82 0
|
1月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
40 3
|
1月前
|
消息中间件 druid 大数据
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
32 2
|
1月前
|
消息中间件 分布式计算 druid
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(一)
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(一)
52 1
|
1月前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
129 0
|
1月前
|
消息中间件 资源调度 大数据
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
40 0