登 录
注 册
< 大 数 据
Flink
Hadoop
Spark
Hive
HBase
Kafka
其他框架
分布式消息队列
Kafka命令行操作
生产者与幂等性
ExactlyOnce与事务
分区消费策略
手动提交offset
Kafka对接Flume
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
安全常识
一文读懂SSO
当前位置:
首页
>>
Kafka
>>
Kafka命令行操作
Kafka命令行操作
2020-07-02 13:41:47 星期四 阅读:1891
####最常用的5个Kafka命令组 以下命令全部都是安装完Kafka后,在bin/目录下提供的脚本文件,除了这5个,其他的很少用 ```bash kafka-server-start.sh kafka-server-stop.sh # 控制台消费者启动脚本,主要是在测试的时候用 kafka-console-consumer.sh # 控制台生产者,主要在测试环境使用 kafka-console-producer.sh # topic有关的所有操作命令,包括topic的增删改查等(一般很少改,只增删查)。因为topic的所有信息都存储在zk中,所有有关该命令的所有操作都需要指定zk集群 kafka-topics.sh ``` 其他几个压力测试的命令一般只是在集群搭建初期使用 ####创建一个主题 主题名称:my_topic 分区数:2 分区副本数:2 ``` cd $KAFKA_HOME bin/kafka-topics.sh --create --zookeeper zkhost1:2181,zkhost2:2181,zkhost3:2181 --topic my_topic --partitions 2 --replication-factor 2 ``` 注意:`分区的副本数不能超过broker的个数`,否则报错。原因是:如果分区的副本数超过broker个数,则说明某台或多台broker上,针对某个分区有多份一模一样的数据,这样纯属浪费资源。但是一个broker可以有多个分区(数据不一样的分区,也就是说分区的个数可以超过broker个数) ####列出所有主题 ``` bin/kafka-topics.sh --list --zookeeper zkhost1:2181,zkhost2:2181,zkhost3:2181 ``` ####删除主题 注意:要在kafka的server.properites配置文件里将delete.topic.enable设置为true才能删除成功 ``` bin/kafka-topics.sh --delete --zookeeper zkhost1:2181,zkhost2:2181,zkhost3:2181 --topic my_topic ``` ####查看某个主题的详细信息 ``` bin/kafka-topics.sh --describe --topic my_topic --zookeeper zkhost1:2181,zkhost2:2181,zkhost3:2181 ``` ####控制台生产者测试 指定需要往那个topic发送消息 指定kafka集群地址(给定一个地址即可),注意是指定broker集群,而不是zookeeper集群 ``` bin/kafka-console-produer.sh --topic my_topic --broker-list broker1:9092,broker2:9092,broker3:9092 ``` 命令执行成功后,会出现一个提示符>,提示用户输入需要发送的消息 ####控制台消费者测试 老版本:使用这种方法,是直接连接zk消费,把偏移量存储在zk中,但是在0.9及以后版本,偏移量会放在broker集群里。所以使用此方法会得到警告信息,但是也能消费成功、 ``` bin/kafka-console-consumer.sh --topic my_topic --from-beginning --zookeeper zkhost1:2181,zkhost2:2181,zkhost3:2181 ``` 新版本:消费者不连接zk,而是连接broker集群 ``` bin/kafka-console-consumer.sh --topic my_topic --from-beginning --bootstrap-server broker1:9092,broker2:9092,broker3:9092 ``` 执行命令后,会在各个broker指定的目录下(server.properites配置文件里log.dirs配置项的文件路径)自动生成一个topic(__consumer_offsets)来保存消费者的偏移量,这个topic是系统自动创建的,默认是50个分区,一个分区副本。