在学习kafka之前,需要先安装zookeeper
进入要下载的版本的目录,选择 .tar.gz
文件下载,下载链接:http://archive.apache.org/dist/zookeeper/
zookeeper是一套分布式协调服务框架,那么如何理解分布式协调:主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成“脏数据”的后果.
下载完成zookeeper之后,解压到指定目录,然后在该文件下创建data以及logs文件,存放数据以及日志,然后进入conf目录,将zoo_sample.cnf复制一份到当前目录,并修改名称为zoo.cnf
在其中添加下述信息:
dataDir=/Users/mac/installed/apache-zookeeper-3.6.0-bin/data dataLogDir=/Users/mac/installed/apache-zookeeper-3.6.0-bin/logs
正阳zookeeper就安装完毕了
接下来看一下一些常用命令:
进入 bin
目录,启动、停止、重启和查看当前节点状态
./zkServer.sh start ./zkServer.sh stop ./zkServer.sh restart ./zkServer.sh status
接下来根据官网安装一下kafka
http://kafka.apache.org/quickstart
先启动zookeeper,然后使用命令
bin/kafka-server-start.sh -daemon config/server.properties
启动服务,这个就是使用守护进程
然后我们可以简单创建一个topics
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
可以使用,查看所有的topic
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
kafka带有脚本测试工具可以帮助测试,起一个消息生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
一个消息接受者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
--from-beginning意味着从头开始接受消息,如果该参数,则之前的消息就不会接收到