Kafka之命令行的基本操作

7 篇文章 0 订阅
7 篇文章 0 订阅

前言

  • kafka版本:2.11-2.1.1

1. 启动/关闭Kafka

注意:在启动Kafka进程之前记得先启动Zookeeper集群

启动当前主机Kafka进程

bin/kafka-server-start.sh config/server.properties

可以使用-daemon参数,表示以守护线程的方式启动,日志不打印到控制台

bin/kafka-server-start.sh -daemon config/server.properties

关闭当前主机Kafka进程

bin/kafka-server-stop.sh

2. 查看所有Topic信息

需要指定Zookeeper集群和其提供的客户端端口号。如果想尝试使用多个Zookeeper服务器,各个服务器之间使用逗号隔开

bin/kafka-topics.sh --zookeeper zkServer1:2181,zkServer2:2181 --list

3. 创建Topic

向Zookeeper服务器集群注册Topic

bin/kafka-topics.sh --zookeeper zkServer1:2181 --create --replication-factor 3 --partitions 1 --topic first

注意:自Kafka 2.2.x及之后都是向Kafka集群注册Topic,而不是直接向Zookeeper注册Tpoic,所以命令行有所不同,将Zookeeper集群改成指定Kafka集群及其客户端端口

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 1 --topic first

4. 删除Topic

需要server.properties中设置delete.topic.enable=true,否则只是标记删除而实际未删除,会导致再次创建同名Topic时失败

bin/kafka-topics.sh --zookeeper zkServer1:2181 --delete --topic first

5. 生产消息

启动Kafka生产者进程

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic first

6. 消费消息

启动消费者进程,实时消费Topic中的最新消息

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first

加上from-beginning则是将Topic中已保存的历史消息全部取出

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic first

注意1:如果使用了多个Partition,取出的消息只能保证单个Partition中的消息有序,多个Partition之间消息是不保证有序的

注意2:在Kafka 0.8.1及之前,Consumer消费分区消息的offset偏移量也通过Zookeeper来保存,在此版本之后就不建议或者禁止使用zk来保存offset。在Kafka 0.8.2及之后,Kafka通过建立一个Internal Topic即内部Topic来保存Consumer Offset信息(topic名为_consumer_offset),同样存储在log.dirs路径下。因此Kafka 0.8.2及之后是通过指定Kafka集群来消费消息,而Kafka 0.8.1及之前是通过指定Zookeeper集群来消费消息


7. 查看指定Topic具体信息

bin/kafka-topics.sh --zookeeper zkServer1:2181 --describe --topic first

其中ISR表示已经和Partition Leader实现同步的Partition副本(in-sync replication)


End~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值