Kafka Shell基本命令(包括topic的增删改查) - XIAO的博客 - 博客园
标签:
| 发表时间:2020-03-31 11:41 | 作者:
出处:https://www.cnblogs.com
转载请注明出处: http://www.cnblogs.com/xiaodf/
- 创建kafka topic
- 查看所有topic列表
- 查看指定topic信息
- 控制台向topic生产数据
- 控制台消费topic的数据
- 查看topic某分区偏移量最大(小)值
- 增加topic分区数
- 删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除
- 查看topic消费进度
创建kafka topic
bin/kafka-topics.sh --zookeeper node01:2181 --create --topic t_cdr --partitions 30 --replication-factor 2
注:partitions指定topic分区数,replication-factor指定topic每个分区的副本数
-
partitions分区数:
- partitions :分区数,控制topic将分片成多少个log。可以显示指定,如果不指定则会使用broker(server.properties)中的num.partitions配置的数量
- 虽然增加分区数可以提供kafka集群的吞吐量、但是过多的分区数或者或是单台服务器上的分区数过多,会增加不可用及延迟的风险。因为多的分区数,意味着需要打开更多的文件句柄、增加点到点的延时、增加客户端的内存消耗。
- 分区数也限制了consumer的并行度,即限制了并行consumer消息的线程数不能大于分区数
- 分区数也限制了producer发送消息是指定的分区。如创建topic时分区设置为1,producer发送消息时通过自定义的分区方法指定分区为2或以上的数都会出错的;这种情况可以通过alter –partitions 来增加分区数。
-
replication-factor副本
- replication factor 控制消息保存在几个broker(服务器)上,一般情况下等于broker的个数。
- 如果没有在创建时显示指定或通过API向一个不存在的topic生产消息时会使用broker(server.properties)中的default.replication.factor配置的数量
查看所有topic列表
bin/kafka-topics.sh --zookeeper node01:2181 --list
查看指定topic信息
bin/kafka-topics.sh --zookeeper node01:2181 --describe --topic t_cdr
控制台向topic生产数据
bin/kafka-console-producer.sh --broker-list node86:9092 --topic t_cdr
控制台消费topic的数据
bin/kafka-console-consumer.sh --zookeeper node01:2181 --topic t_cdr --from-beginning
查看topic某分区偏移量最大(小)值
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic hive-mdatabase-hostsltable --time -1 --broker-list node86:9092 --partitions 0
注:time为-1时表示最大值,time为-2时表示最小值
增加topic分区数
为topic t_cdr 增加10个分区
bin/kafka-topics.sh --zookeeper node01:2181 --alter --topic t_cdr --partitions 10
删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除
bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper node01:2181 --topic t_cdr
查看topic消费进度
这个会显示出consumer group的offset情况, 必须参数为--group, 不指定--topic,默认为所有topic
Displays the: Consumer Group, Topic, Partitions, Offset, logSize, Lag, Owner for the specified set of Topics and Consumer Group
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker
required argument: [group]
Option Description
------ -----------
--broker-info Print broker info
--group Consumer group.
--help Print this message.
--topic Comma-separated list of consumer
topics (all topics if absent).
--zkconnect ZooKeeper connect string. (default: localhost:2181)
Example,
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group pv
Group Topic Pid Offset logSize Lag Owner
pv page_visits 0 21 21 0 none
pv page_visits 1 19 19 0 none
pv page_visits 2 20 20 0 none
以上图中参数含义解释如下:
topic:创建时topic名称
pid:分区编号
offset:表示该parition已经消费了多少条message
logSize:表示该partition已经写了多少条message
Lag:表示有多少条message没有被消费。
Owner:表示消费者
细看kafka-run-class.sh脚本,它是调用 了ConsumerOffsetChecker的main方法,所以,我们也可以通过java代码来访问scala的ConsumerOffsetChecker类,代码如下:
import kafka.tools.ConsumerOffsetChecker;
/**
* kafka自带很多工具类,其中ConsumerOffsetChecker能查看到消费者消费的情况,
* ConsumerOffsetChecker只是将信息打印到标准的输出流中
*
*/
public class RunClass {
public static void main(String[] args) {
//group-1是消费者的group名称,可以在zk中
String[] arr = new String[]{"--zookeeper=192.168.199.129:2181,192.168.199.130:2181,192.168.199.131:2181/kafka","--group=group-1"};
ConsumerOffsetChecker.main(arr);
}
}
更多文章
相关 [kafka shell 命令] 推荐:
创建kafka topic. 控制台向topic生产数据. 控制台消费topic的数据. 查看topic某分区偏移量最大(小)值. 删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除. 注:partitions指定topic分区数,replication-factor指定topic每个分区的副本数.
kafka集群操作命令
- - 开源软件 - ITeye博客默认Kafka会使用ZooKeeper默认的/路径,这样有关Kafka的ZooKeeper配置就会散落在根路径下面,如果 你有其他的应用也在使用ZooKeeper集群,查看ZooKeeper中数据可能会不直观,所以强烈建议指定一个chroot路径,直接在 zookeeper.connect配置项中指定.
【转】给力的运维shell命令
- Greyby - FeedzShare 3天最热来自: 在路上 - FeedzShare . 发布时间:2011年03月31日, 已有 18 人推荐. 1.显示消耗内存/CPU最多的10个进程. 2.查看Apache的并发请求数及其TCP连接状态. 3.找出自己最常用的10条命令及使用次数(或求访问最多的ip数). 4.日志中第10个字段表示连接时间,求平均连接时间.
HBASE shell 常用命令大全
- - CSDN博客云计算推荐文章 HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》. HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务.
[转] 工程师追查线上问题(或运维)常用的shell命令
- - 操作系统 - ITeye博客shell本身是非常强大的,而工程师在追查线上问题时,如何能够更加快速更加有效的定位问题,用好shell非常关键. 下面是我总结的几个在追查问题时常用的shell命令. 大家有好的命令,也可以在这之上完善. 比如cpu idle急剧下降,要看一下当前的流量如何,是否是由于流量突增引起. 其中wap_log是日志名,4 是时间那一列,简单介绍下这个shell命令.
这些 Shell 分析服务器日志命令集锦,收藏好了~
- - IT瘾-tuicool自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量. 于是收集,整理一些服务器日志分析命令,大家可以试试. 1、查看有多少个IP访问:. 2、查看某一个页面被访问的次数:. 3、查看每一个IP访问了多少个页面:. awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file > log.txt
sort -n -t ' ' -k 2 log.txt 配合sort进一步排序.
Shell编程
- - 博客园_首页本来打算寒假回家好好学习Linux的,为以后学习嵌入式打好基础的. 回家之后的学习效率非常低,之前为了搭建Linux环境,折腾了很长时间,学到现在也就勉强才把Shell编程学完了. 今天就把自己学习的相关知识点总结整理一下. 个人感觉shell程序跟windows下的批处理文件有点像,就是将一些系统命令写进一个可执行文件中,然后执行.
kafka监控之kafka-run-class.sh
- - 开源软件 - ITeye博客kafka自带了很多工具类,在源码kafka.tools里可以看到:. 这些类该如何使用呢,kafka的设计者早就为我们考虑到了,在${KAFKA_HOME}/bin下,有很多的脚本,其中有一个kafka-run-class.sh,通过这个脚本,可以调用其中的tools的部分功能,如调用kafka.tools里的ConsumerOffsetChecker.scala,.
shell 学习笔记
- tiger - 游戏人生将脚本目录加到 PATH 中. 在 dash 中如何进行字符串替换. 将 rst 格式文档转换为 blog 可用的 html 代码. shell 脚本虽然不是非常复杂的程序, 但对于首次接触的我来讲, 多少还是有些忌惮. 不过, 接触任何新事物都需要勇敢面对, 逐步树立信心. 我是冲着把脚本写好去的, 所以, 我的目标是能够写出友好, 健壮, 优美的脚本..
GNOME Shell 3.2 预览
- timebug - LinuxTOY近日 Allan 在他的博客上分享了最近在 GNOME Shell 3.2 上的开发进度. 整合聊天和消息程序(由 Guillaume Desmottes 开发). 登陆系统时自动登陆聊天服务,不再需要额外启动聊天程序. 直接在 Shell 即可语音通话,回复聊天邀请,文件传输. 通知计数器(由 Guillaume Desmottes 开发).