Kafka用官方的话来说这是一个分布式流平台,读者大可不必被这些概念疑惑,先当做他是一个消息中间件来用用看,然后再自己去理解这东西。
Kafka目前笔者看到的版本都是绿色版,并不需要安装,读者先不要关心诸如消息传输协议,消息的设计,吞吐量的大小这些事情,先上国际惯例:HelloWorld 感受一下吧。
下载这事读者可以从 Kafka官方提供的链接,下载后解压即可。
读者下载后目录大概像下面这样。
bin // 可执行文件
config // 一些基础的配置文件
libs // 依赖的jar包
site-docs // 文档
LICENSE
NOTICE
好吧我们打开bin,里面分为sh文件和bat文件,这些文件方便于读者不借助编程语言进行最简单的演示和体验。读者根据自己系统来选择,读者应该将对应自己系统的脚本目录配置到环境变量,这样方便一些。
- 开启zookeeper
命令行切换到config目录运行如下命令开启zookeeper(注:config目录下带了一个zookeeper.preperties)。kafka的运行离不开zookeeper!
zookeeper-server-start zookeeper.properties
上面的命令唯一的参数是zookeeper.properties,这是指定zookeeper.properties配置文件的。执行成功后,读者会在命令行里看到zookeeper监听了2181端口,这个端口是zookeeper.properties中配置的,但是现在我们先不研究那些配置文件,先跟着笔者往下走。
- 启动一个broker
这所谓的broker就是一个kafaka服务,还是在config目录使用下面的命令
kafka-server-start server.properties
上面的命令也只有一个参数,那就是指定broker的配置文件,这个broker监听的端口是9092。
- 创建一个topic
topic是一个消息的标签,从业务上讲我们只要知道一个消息的topic我们就知道他是谁生产的,谁应该消费,负责啥业务的
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytopic
上面的命令中--create是创建,zookeeper是指定zookeeper,topic 是指定名字,--replication-factor表示这个topic会备份到多少个broker中,partitions表示这个topic中有多少个partitions(这两个参数读者如果不理解可以先放一放),执行成功后我们可以通过下面这个命令查看我们所有topic的列表
kafka-topics --list --zookeeper localhost:2181
- 启动一个consumer
既然是消息中间件,消费者总要有吧?我们搞个消费者只需要指定broker和想要消费的topic。
kafka-console-consumer --bootstrap-server localhost:9092 --topic mytopic
上面这个命令运行成功后将会等待所有topic为mytopic的消息,进行消费!
- 启动一个producer
kafka-console-producer --broker-list localhost:9092 --topic mytopic
- 发送消息
在生产者那边输入消息,回车即可。
HelloWorld
上面的步骤如果没有错误,那么我们成功的做到了一件事,左面和右面的命令行通讯。
笔者这里推荐将上面启动zookeeper的那行命令和启动broker的那行命令保存到一个脚本中,不然每次都敲太麻烦了~
更多内容欢迎来笔者的个人博客https://www.gaowenhao.cn
网友评论