橘子学kafka之基础命令使用

news2024/12/25 9:10:56

本系列主要开始处理关于kafka的一些技术知识点,尽量会以代码和实际命令为主要表达形式来做表现。
本文主要是关于如何在客户端使用命令做一个描述,其实我本来不想写的,但是今天在公司有同事居然不会,所以我觉得还是描述一下。而且在你没有代码的时候,运维端你要操作的时候这个其实也是有点用的。
本文目的是如何使用命令,以及如何在0基础的时候查看帮助文档。后续会不断完善,这里先做一个初步的描述,后面我发现其他的继续加上去。

一、位置

首先我们来看看这一套命令的位置,位于你kafka安装目录下面的bin目录下面。
在这里插入图片描述

[root@iZ2ze1q2h6sy9dblhemmhmZ bin]# pwd
/opt/kafka_2.12-2.1.1/bin
[root@iZ2ze1q2h6sy9dblhemmhmZ bin]# ls
connect-distributed.sh        kafka-console-consumer.sh    kafka-delete-records.sh              kafka-producer-perf-test.sh    kafka-server-stop.sh                trogdor.sh                       zookeeper-shell.sh
connect-standalone.sh         kafka-console-producer.sh    kafka-dump-log.sh                    kafka-reassign-partitions.sh   kafka-streams-application-reset.sh  windows
kafka-acls.sh                 kafka-consumer-groups.sh     kafka-log-dirs.sh                    kafka-replica-verification.sh  kafka-topics.sh                     zookeeper-security-migration.sh
kafka-broker-api-versions.sh  kafka-consumer-perf-test.sh  kafka-mirror-maker.sh                kafka-run-class.sh             kafka-verifiable-consumer.sh        zookeeper-server-start.sh
kafka-configs.sh              kafka-delegation-tokens.sh   kafka-preferred-replica-election.sh  kafka-server-start.sh          kafka-verifiable-producer.sh        zookeeper-server-stop.sh

我们看到在这个路径下面有一系列关于kafka客户端操作的命令,我们只说一些常用的,不常用的后面用到我加上去。

kafka-console-consumer.sh:关于消费消息时候使用的指令
kafka-console-producer.sh:关于生产消息时候使用的指令
kafka-topics.sh:关于操作topic主题时候使用的指令

下面我们就一个个开始看看怎么用。

二、主题

主题的概念我们暂且在第一篇操作时候按下不表,后面我们做原理学习的时候再说。这里默认会了。
我们先来看一个操作,就是查看官方帮助文档。

1、查看参数

进入bin目录下面:
此时你不知道kafka的主题侧有啥参数,你就输入kafka-topics.sh这个,然后回车,你会看到官方所有的参数都会列出来。

# 这一行是在说这个命令./kafka-topics.sh的作用就是增删改查描述主题信息
Create, delete, describe, or change a topic. 
# 下面两列就是参数和该参数的描述
Option                                   Description                            
------    
#动作类参数: 当你需要修改主题的分区,副本等配置的时候需要加这个参数                              
--alter                                  Alter the number of partitions,        
                                           replica assignment, and/or           
                                           configuration for the topic.         
--config <String: name=value>            A topic configuration override for the 
                                           topic being created or altered.The   
                                           following is a list of valid         
                                           configurations:                      
                                         	cleanup.policy                        
                                         	compression.type                      
                                         	delete.retention.ms                   
                                         	file.delete.delay.ms                  
                                         	flush.messages                        
                                         	flush.ms                              
                                         	follower.replication.throttled.       
                                           replicas                             
                                         	index.interval.bytes                  
                                         	leader.replication.throttled.replicas 
                                         	max.message.bytes                     
                                         	message.downconversion.enable         
                                         	message.format.version                
                                         	message.timestamp.difference.max.ms   
                                         	message.timestamp.type                
                                         	min.cleanable.dirty.ratio             
                                         	min.compaction.lag.ms                 
                                         	min.insync.replicas                   
                                         	preallocate                           
                                         	retention.bytes                       
                                         	retention.ms                          
                                         	segment.bytes                         
                                         	segment.index.bytes                   
                                         	segment.jitter.ms                     
                                         	segment.ms                            
                                         	unclean.leader.election.enable        
                                         See the Kafka documentation for full   
                                           details on the topic configs.    
# 动作类参数:当你创建主题的时候就需要加这个    
--create                                 Create a new topic.                    
# 动作类参数:当你删除主题的时候就需要加这个
--delete                                 Delete a topic                         
--delete-config <String: name>           A topic configuration override to be   
                                           removed for an existing topic (see   
                                           the list of configurations under the 
                                           --config option).                    
# 动作类参数:当你要查看主题的详细信息的时候就需要加这个
--describe                               List details for the given topics.     
--disable-rack-aware                     Disable rack aware replica assignment  
--exclude-internal                       exclude internal topics when running   
                                           list or describe command. The        
                                           internal topics will be listed by    
                                           default                              
--force                                  Suppress console prompts               
# 输出参数描述
--help                                   Print usage information.               
--if-exists                              if set when altering or deleting       
                                           topics, the action will only execute 
                                           if the topic exists                  
--if-not-exists                          if set when creating topics, the       
                                           action will only execute if the      
                                           topic does not already exist         
# 动作类参数:查看所有主题的时候加这个参数
--list                                   List all available topics.             
# 创建主题的时候指定分区个数
--partitions <Integer: # of partitions>  The number of partitions for the topic 
                                           being created or altered (WARNING:   
                                           If partitions are increased for a    
                                           topic that has a key, the partition  
                                           logic or ordering of the messages    
                                           will be affected                     
--replica-assignment <String:            A list of manual partition-to-broker   
  broker_id_for_part1_replica1 :           assignments for the topic being      
  broker_id_for_part1_replica2 ,           created or altered.                  
  broker_id_for_part2_replica1 :                                                
  broker_id_for_part2_replica2 , ...>                                           
# 创建主题的时候指定副本个数
--replication-factor <Integer:           The replication factor for each        
  replication factor>                      partition in the topic being created.
# 你要操作那个主题,这个参数后面指定
--topic <String: topic>                  The topic to be create, alter or       
                                           describe. Can also accept a regular  
                                           expression except for --create option
--topics-with-overrides                  if set when describing topics, only    
                                           show topics that have overridden     
                                           configs                              
--unavailable-partitions                 if set when describing topics, only    
                                           show partitions whose leader is not  
                                           available                            
--under-replicated-partitions            if set when describing topics, only    
                                           show under replicated partitions     
# 对topic操作必须设置连接哪个zk
--zookeeper <String: hosts>              REQUIRED: The connection string for    
                                           the zookeeper connection in the form 
                                           host:port. Multiple hosts can be     
                                           given to allow fail-over.        

OK,我们就先简单的对上面几个参数加一个注释,注意我把参数分为了动作类参数和非动作类参数,动作类参数就是一类型的操作,这种动作类的操作一个操作就只能操作一个,不能多个存在。
非动作类参数是在动作类参数上附加的。我们来演示一波。具体怎么用。

2、使用参数

我们这里就把上面这几个参数列出来再这里,清晰的看一下:

# 动作类参数:当你创建主题的时候就需要加这个    
--create                                                   
# 动作类参数:当你删除主题的时候就需要加这个
--delete                                                       
--delete-config <String: name>                           
# 动作类参数:当你要查看主题的详细信息的时候就需要加这个
--describe                                   
# 输出参数描述
--help                                                   
# 动作类参数:查看所有主题列表的时候加这个参数
--list                                            
# 创建主题的时候指定分区个数
--partitions <Integer                   
# 创建主题的时候指定副本个数
--replication-factor <Integer:          
# 你要操作那个主题,这个参数后面指定
--topic <String: topic>                
# 对topic操作必须设置连接哪个zk目录,因为不同目录可以放置相同名字的主题
--zookeeper <String: hosts>                     

我们就围绕这几个参数来操作一下主题。

2.1、创建主题

我们首先明确,创建主题的动作是–create
其次你要创建主题,那你需要操作主题所以需要–topic
然后你要操作主题,那你必须指定zk路径,我目前已经在zk的根目录下面创建了一个myKafka的路径,我就直接用了。所以你需要–zookeeper这个参数。
然后你要创建主题,你得设置副本数,所以你得有–replication-factor
然后你要创建主题,你得设置分区数,所以你得有–partitions
基于此,你基本过了一遍那些topic后面的参数,能加的也就这几个,所以我们可以得到这个命令了。

./kafka-topics.sh --zookeeper localhost:2181/myKafka  --topic topic-levi --partitions 4 --replication-factor 1  --create
这样我们就在zk的/myKafka 路径下面创建出一个分区为4,副本个数为1(其实就是leader),名字叫topic-levi的主题了,就是这么自然。

三、生产者

四、消费者

这次就到这里,我去开会。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

贪心算法合集

95 分糖果问题 思路非常简单&#xff0c;和题解一模一样&#xff1a; 用数组存每个人对应的糖果数量&#xff0c;初始为1 从左到右遍历&#xff0c;如果比左边的大&#xff0c;1再从右到左遍历&#xff0c;如果比右边的大&#xff0c;1 import java.util.*;public class Solu…

录屏大师电脑版推荐(一键录制声画同步的视频)

很多小伙伴使用电脑多年&#xff0c;却不知道电脑有录屏功能。想要对电脑屏幕进行录制&#xff0c;只需在电脑上安装一个录屏大师。那有没有录屏大师电脑版推荐呢&#xff1f;在试用了多款电脑录屏大师之后&#xff0c;小编今天给大家推荐一款可以一键录制声画同步视频的录屏大…

使用Python为二年级的学生批量生成数学题

文章目录一.使用Python为二年级的学生批量生成数学题1.1 背景二.解决思路及其代码三.排版及其打印四.本文源码一.使用Python为二年级的学生批量生成数学题 1.1 背景 我妹妹今年上二年级&#xff0c;她的老师今天给他们布置了一项作业&#xff1a; 从今天起到开学&#xff0c;…

ENSP的AR40问题解决

AR40以及其他相关问题都可以参考此方法&#xff0c;都已经可以正常使用 现在有enspAR40问题的同学有救了&#xff0c;ensp的AR40问题困扰了我很长时间&#xff0c;根据官方的问题解决文档没有解决&#xff0c;反正就是之前的所有方法都没有用&#xff0c;也不是都没有用&#x…

初读《编程之美》就想秀一下,结果还翻车了

文章目录 一、前言 二、我的思路 三、Code 四、翻车现场 五、后续问题 一、前言 ———如何写一个短小的程序&#xff0c;让 Windows 的任务管理器显示CPU的占用率为50%? 这道有趣的面试题我是这两天从《编程之美》电子版中看到的&#xff0c;看意思就是邹老师在微软对一…

入门postgre sql(PG的下载和安装,包括普通用户源码构建的安装方式)

目录PG的下载安装1、Windows 上安装2、Linux上安装有root权限的安装无root权限的安装PG的下载安装 点击这里&#xff0c;了解pg 1、Windows 上安装 (1)下载安装 访问官网下载地址 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 下载最新发布的Po…

3.kafka-3.生产者,消费者

文章目录1.个性化配置&#xff0c;增加吞吐量2.发送事务消息3.消费组手动提交offset指定offset位置进行消费指定时间消费当新增消费者&#xff0c;或者消费组时&#xff0c;如何消费漏消息和重复消息如何解决消费解压问题1.个性化配置&#xff0c;增加吞吐量 private static vo…

使用 .NET 7、Blazor 和 .NET MAUI 构建你自己的 Podcast App

.NET Podcast App 首次在 .NET Conf 2021上推出&#xff0c;最近进行了更新以在 .NET Conf 2022 keynote 中突出显示 .NET 7 中的新功能。该 Podcast App 已准备好使用展示 .NET&#xff0c;ASP.NET Core&#xff0c;Blazor&#xff0c;.NET MAUI&#xff0c;Azure Container A…

Android 蓝牙开发——概述(一)

一、蓝牙简介 蓝牙技术是一种无线数据和语音通信开放的全球规范&#xff0c;它是基于低成本的近距离无线连接&#xff0c;为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。 其中将1.x~3.0之间的版本称之为经典蓝牙&#xff0c;4.x开始的蓝牙称之为低功耗蓝牙&…

Memcache学习总结

这里写自定义目录标题介绍一致性哈希寻找节点一致性哈希介绍内存管理slab结构寻找存储chunkChunk中存储的Item数据结构grow factor 调优回收删除一些特性介绍 基于内置内存Key-Value形式存储数据(字符串、对象)集群服务器是通过数组链表方式存储K-V数据<分布式>基于哈希…

编程语言那么多,我为什么推荐你学Java?

Java一直都是稳居排行榜第一的语言&#xff0c;在未来10年Java都会是最热门的语言之一&#xff0c;因为Java技术具有卓越的通用性、高效性、安全性和平台移植性&#xff0c;它可以跨平台的应用到不同的领域&#xff0c;工作需求足够大。 为什么选择学习Java编程语言&#xff1…

更具科技感的中塔机箱,模块设计兼容性强,鑫谷昆仑御风机箱上手

大家装机的时候应该都接触过鑫谷的机箱和散热器外设&#xff0c;作为一家有年头的外设品牌&#xff0c;这两年鑫谷推陈出新&#xff0c;像是在电源方面&#xff0c;就有不少很受欢迎的产品&#xff0c;像是昆仑系列等&#xff0c;前端鑫谷在昆仑系列中带来了一款设计新颖的机箱…

琥珀酰亚胺-双硫键-琥珀酰亚胺NHS-SS-NHS双端活性酯二硫键交联剂

名称:NHS-SS-NHS 中文名称:活性酯-双硫键-活性酯 琥珀酰亚胺-双硫键-琥珀酰亚胺 分子式 :C14H16N2O10S2 分子量 :436.41 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 用 途&#xff1a;仅供科研实验使用&#xff0c;不用于诊治 外观: 固体或粘性液体&am…

VMwareWorkstationPro16的下载与安装,以及vm账号注册的问题

VMwareWorkstationPro16的下载与安装&#xff0c;以及vm账号注册的问题查看虚拟化支持是否开启vm的安装vm账号注册的常见问题VM 16的安装步骤查看虚拟化支持是否开启 可以从任务管理器中的性能去查看CPU是否开启虚拟化支持 vm的安装 访问 vm 的官网: https://www.vmware.co…

I2C_Adapter驱动框架讲解与编写

I2C_Adapter驱动框架讲解与编写 文章目录I2C_Adapter驱动框架讲解与编写参考资料&#xff1a;一、 回顾1.1 2C驱动程序的层次1.2 I2C总线-设备-驱动模型二、 I2C_Adapter驱动框架2.1 核心的结构体1. i2c_adapter2. i2c_algorithm2.2 驱动程序框架1. 所涉及的函数2. i2c_algorit…

lq-递归

1、递归实现指数型枚举从 1∼n 这 n个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列&#xff0c;相邻两个数用恰好 1个空格隔开。对于没有选任何数的方案&#xff0c;输出空行。本题…

AStar(A*)算法核心思想( for unity)

AStar算法算法思想举例理解核心代码A* 算法&#xff0c;A* (A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法&#xff0c;也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近&#xff0c;最终搜索速度越快。 注意:AStar的类应该作为一种单例类只…

软考初级哪个好考

其实软考初级的实用性差不多。只是看自身怎么看&#xff0c;考哪一科对你来说&#xff0c;产生的意义更大&#xff0c;对自己以后的发展前景帮助大&#xff0c;那你就选择哪一科就行。 软考初级科目有&#xff1a;程序员、网络管理员、信息处理技术员、信息系统运行管理员、网…

C语言之vs2022安装教程,还不会的快来看

下载安装包官方无毒下载链接:https://visualstudio.microsoft.com/zh-hans/vs/点击链接或者复制到浏览器出现如下按钮点击下载社区版本Visual Studio 2022Community 2022: 社区版&#xff0c;也可以理解为个人版。适用于学生、开源和个人。一些新手用来学习是个不错的选择Profe…

第十三届蓝桥杯省赛 C++ B组 - 修剪灌木

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;蓝桥杯题解集合 &#x1f4dd;原题地址&#xff1a;付账问题 &#x1f4e3;专栏定位&#xff1a;为想参加蓝桥别的小伙伴整理常考算法题解&#xff0c;祝大家…