Kafka常用命令

Kafka常用命令

感觉最近有一阵子没有玩Kafka了,都有点生疏了,我们今天就来讲解如何使用命令操作Kafka:

  • 启动命令
  • 创建Topic
  • 查看Topic列表
  • 删除Topic
  • Producer和Consumer 写入和消费数据
  • 其他命令

根据前一篇如何在阿里云上构建Kafka系统,想必大家都已经知道了如何配置Kafka了,但是有了Kafka后应当如何进行下一步的操作呢?这便是本节的主要内容了。

1. 启动命令

启动kafka很简单,配置好前置的操作后,先进入zookeeper的目录下,启动zookeeper

先到…/Software/Zookeeper/zookeeper-3.4.6目录下

cd zookeeper-3.4.6
//先看下当前目录
pwd
结果:/Users/XXX/Software/Zookeeper/zookeeper-3.4.6
//启动Zookeeper
./bin/zkServer.sh  start
//关闭Zookeeper 当然我们这边就不用关闭了,大家知道就好
./bin/zkServer.sh  stop

启动后结果如下所示,就代表命令执行成功了:

sh-3.2# ./bin/zkServer.sh start
JMX enabled by default
Using config: /Users/Sean/Software/Zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

PS:因为kafka是需要注册在zookeeper上面,通过zookeeper进行管理和调度的,所以启动kafka之前,我们必须要启动zookeeper。

随后我们进入Kafka目录下,启动kafka,具体操作命令如下所示:

cd kafka_2.11-0.10.1.0
//查看当前目录
pwd
/Users/xxx/Software/Kafka/kafka_2.11-0.10.1.0
//启动kafka
./bin/kafka-server-start.sh ./config/server.properties

看到没有报错之后kafka就是已经成功被运行了,当然可以jps -lm查看一下,操作命令如下:

jps -lm
// 结果如下
7111 org.apache.zookeeper.server.quorum.QuorumPeerMain /Users/Sean/Software/Zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
7357 sun.tools.jps.Jps -lm
7119 kafka.Kafka ./config/server.properties
sh-3.2#

可以看到zookeeper和kafka都已经运行起来了,当然这个是单机的命令,集群的命令后面再讲。
这样启动又一个坏处,就是kafka启动完毕之后,不能关闭终端,为此,我们可以运行这条命令:

nohup ./bin/kafka-server-start.sh config/server.properties >  /dev/null 2>&1 &
运行结果:
[1] 7404

多个kafka的话,在各个虚拟机上运行kafka启动命令多次即可。


2. 创建Topic

创建Topic命令如下所示:
创建一个test的Topic

./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

多集群创建,执行这个需要搭建多机器的kafka集群环境,zkq1/zkq2/zkq3分别代表了3台zookeeper集群的三台机器

./bin/kafka-topics.sh --create --zookeeper zkq1:2181,zkq2:2181,zkq3:2181 --replication-factor 6 --partition 6 --topic test

3. 查看Topic

创建完成后我们需要查看Topic到底是否创建成功了,可以执行如下命令:

./bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181

同理,zookeeper集群的话,写集群的三台机器的地址即可。
操作的步骤如下所示,大家一看便知:

//创建Topic  test test2 test3
sh-3.2# ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
//结果
Created topic "test".
sh-3.2# ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test2
//结果
Created topic "test2".
sh-3.2# ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test3
//结果
Created topic "test3".
//查询
sh-3.2# ./bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181
//结果
test
test2
test3

4. 删除Topic

删除Topic其实页很简单,执行命令如下:

./bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --delete --topic test

当然,如果你的server.properties内没有配置相关的配置的话,会出现如下错误:

Topic test is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.

这边是说,你的Topic已经被标记为待删除的Topic,但是呢,你配置文件的开关没有打开,所以只是给它添加了一个标记,实际上,这个Topic并没有被删除。只有,你打开开关之后,会自动删除被标记删除的Topic。

解决办法:
设置server.properties文件内的“delete.topic.enable=true”,并且重启Kafka就可以了。

参考:
kafka删除的操作


5. 发送和消费数据

发送数据

./bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test
//输入内容
sdfsdfsdf
sdfsdfsdfsdf
woshi yanxu
dfsdfsdfsdf
sdgdfgdfgdfg
dfgdfgdfg

消费数据

./bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic test --from-beginning
//内容
c
ls
sdfsdfsdf
sdfsdfsdfsdf
woshi yanxu
dfsdfsdfsdf
sdgdfgdfgdfg
dfgdfgdfg


6. 其他操作

其他操作参考其他博客内容

  1. 迁移kafka数据
  2. kafka常用命令总结
  3. Kafka命令行常用命令说明
展开阅读全文

Git 实用技巧

11-24
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值