大数据-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/390611.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

类加载机制

概述 所谓机制就是某种流程规范或运作模式。简单来说,将类文件加载到JVM中的过程,需要对这个过程进行限定和约束,这就是Java类加载的机制。 具体说来,对Java类加载机制的描述可以从三个方面: 按需加载 需要某一个类…

Web开发-html篇-上

HTML发展史 HTML的历史可以追溯到20世纪90年代初。当时,互联网尚处于起步阶段,Web浏览器也刚刚问世。HTML的创建者是蒂姆伯纳斯-李(Tim Berners-Lee),他在1991年首次提出了HTML的概念。HTML的初衷是为了方便不同计算机…

python常用库

目录 tqdm库介绍用法 argparse库介绍用法 tqdm库 介绍 封装一个可视化,可拓展的进度条,以了解项目运行的时长,了解项目进展情况。 传入第 用法 安装 pip install tqdm1直接使用 for i in tqdm(range(1000)):time.sleep(0.01)等价 for i…

DNS处理模块 dnspython

DNS处理模块 dnspython 标题介绍安装dnspython 模块常用方法介绍实践:DNS域名轮询业务监控 标题介绍 Dnspython 是 Python 的 DNS 工具包。它可用于查询、区域传输、动态更新、名称服务器测试和许多其他事情。 dnspython 模块提供了大量的 DNS 处理方法&#xff0c…

django集成pytest进行自动化单元测试实战

文章目录 一、引入pytest相关的包二、配置pytest1、将django的配置区分测试环境、开发环境和生产环境2、配置pytest 三、编写测试用例1、业务测试2、接口测试 四、进行测试 在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试…

PyQt5入门

Python中经常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg。其中PyQt是Qt(c语言实现的)为Python专门提供的扩展 PyQt是一套Python的GUI开发框架,即图形用户界面开发框架.。而在Python中则使用PyQt这一工具包(PyQt5、PyQt5-tools、PyQt5-stubs&am…

卡码网--数组篇(二分法)

系列文章目录 文章目录 系列文章目录前言数组二分查找 前言 详情看:https://programmercarl.com/ 总结知识点用于复习 数组 概念: 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索引的方式获取到下标对应的数据。 特点:…

安卓基本布局(下)

TableLayout 常用属性描述collapseColumns设置需要被隐藏的列的列号。shrinkColumns设置允许被伸缩的列的列号。stretchColumns设置允许被拉伸的列的列号。 <TableLayout xmlns:android"http://schemas.android.com/apk/res/android"android:id"id/TableL…

状体管理-装饰器

State 自己的状态 注意:不是状态变量的所有更改都会引起刷新。只有可以被框架观察到的修改才会引起UI刷新。 1、boolean、string、number类型时&#xff0c;可以观察到数值的变化。 2、class或者Object时&#xff0c;可以观察 自身的赋值 的变化&#xff0c;第一层属性赋值的变…

CC++:贪吃蛇小游戏教程

❀创作不易&#xff0c;关注作者不迷路❀&#x1f600;&#x1f600; 目录 &#x1f600;贪吃蛇简介 &#x1f603;贪吃蛇的实现 &#x1f40d;生成地图 &#x1f40d;生成蛇模块 ❀定义蛇的结构体 ❀初始化蛇的相关信息 ❀初始化食物的相关信息 &#x1f40d;光标定位和…

[Spring] SpringBoot统一功能处理与图书管理系统

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

USB 2.0 规范摘录

文章目录 1、USB 体系简介2、USB 数据流模型四种传输类型 3、USB 物理规范和电气规范4、USB 协议层规范事务传输&#xff08;Transaction&#xff09;的流程 5、USB 框架6、USB 主机&#xff1a;硬件和软件7、USB HUB 规范数据的转发唤醒信号的转发USB HUB 的帧同步HUB Repeate…

前端常见场景、JS计算精度丢失问题(Decimal.js 介绍)

目录 一. Decimal.js 介绍 二. 常用方法 1. 创建 Decimal 实例 2.加法 add 或 plus 3.减法 sub 或 minus 4.乘法 times 或 mul 5.除法 div 或 dividedBy 6.取模 7.幂运算 8.平方根 9.保留小数位 toFixed方法(四舍五入) 三.项目应用 前端精度丢失问题通常由以下原因…

【Kubernetes】kubeadmu快速部署k8s集群

目录 一.组件部署 二.环境初始化 三.所有节点部署docker&#xff0c;以及指定版本的kubeadm 四.所有节点安装kubeadm&#xff0c;kubelet和kubectl 五.高可用配置 六.部署K8S集群 1.master01 节点操作 2.master02、master03节点 3.master01 节点 4.master02、master…

C语言 ——— 学习、使用 strcmp函数 并模拟实现

目录 strcmp函数的功能 学习strcmp函数​编辑 使用strcmp函数 模拟实现strcmp函数 strcmp函数的功能 strcmp函数的功能是字符串比较&#xff0c;两个字符串的对应位置的字符进行比较&#xff0c;直到字符不同或达到终止的 \0 字符为止 举例说明&#xff1a; 字符串1&am…

leetcode-二叉树oj题1(共三道)--c语言

目录 a. 二叉树的概念以及实现参照博客&#xff1a; 一、三道题的oj链接 二、每题讲解 1.单值二叉树 a. 题目&#xff1a; b. 题目所给代码 c. 思路 d. 代码&#xff1a; 2. 相同的树 a. 题目 b. 题目所给代码 c. 思路 d. 代码 3. 二叉树的前序遍历 a. 题目 b.…

前端-05-VSCode自定义代码片段console.log(js/ts配置)、代码段快捷提示放在首位

目录 配置VSCode自定义代码片段console.log()log代码段快捷提示放在首位 配置VSCode自定义代码片段console.log() 点击VSCode左下角设置图标&#xff0c;点击用户代码片段 点击用户代码片段后&#xff0c;VSCode上方出现弹窗如下图&#xff08;没有显示这两个文件的话搜索一下…

Redis结合Lua脚本的简单使用

我们就拿购物车举例子 现在有5个东西免费送&#xff0c;我们只能选择1个 例如 可乐 美年达 香蕉 苹果 薯片 我们选择后就放进redis里面 然后我们不能选重复&#xff0c;只能选不同 Lua脚本 我们redis使用lua脚本的时候&#xff0c;会传两个参数进去 一个是List<Strin…

MySQL:数据库权限与角色

权限 MySQL 的权限管理系统是保障数据库安全性的关键组件之一。它允许数据库管理员精确控制哪些用户可以对哪些数据库对象执行哪些操作。 自主存取控制 DAC&#xff08;DiscretionaryAccess Control)&#xff1a;用户对于不同的数据库对象有不同的存取权限&#xff0c;不同的…

fatal: Could not read from remote repository. 解决方法

问题描述&#xff1a; Git : fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists。 解决方法&#xff1a; 当在网上尝试大量方法仍然失败的时候&#xff0c;不妨试试这个方法。 在 github 上&…