1、安装Zookeeper和Kafka
brew install kafka
brew install zookeeper
Kafka版本:2.2.0;zk版本:3.4.13
两者安装目录都在: /usr/local/Cellar 目录下。
2、ZK启动
ZK相关目录
ZK安装目录: /usr/local/Cellar
ZK配置文件目录: /usr/local/etc/zookeeper
ZK dataDir目录:/usr/local/var/run/zookeeper/data
执行命令:zkserver start
,可以看到ZK启动,启动的端口为2181.
执行命令:zkCli
,可以看到数据节点;
执行命令:zkServer status
,可以看到Mode: standalone
为单机模式。
zoo.cfg配置内容:
3、Kafka启动
Kafka相关目录:
kafka安装目录: /usr/local/Cellar/kafka/2.1.0
Kafka配置文件目录(server/consumer/producer配置都在这里): /usr/local/etc/kafka/*
启动
(1)首先确保ZK启动;
(2)启动Kafka Server:kafka-server-start /usr/local/etc/kafka/server.properties
没有报错且看到日志[KafkaServer id=0] started (kafka.server.KafkaServer)
即代表 Kafka正常启动;
KafkaTopic、生产者、消费者创建
(1)创建一个副本为1,分区为1,topic为TestKafkaTopic
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TestKafkaTopic
(2)查看创建的Topic
kafka-topics --list --zookeeper localhost:2181
注:在创建消费者之前只会有创建的topic:TestKafkaTopic
(3)创建生产者
kafka-console-producer --broker-list localhost:9092 --topic TestKafkaTopic
(4)创建2个消费者
kafka-console-consumer --bootstrap-server localhost:9092 --topic TestKafkaTopic --from-beginning
(5)测试
开启两个窗口进行测试,生产者发送消:test send message from producer
,消费者接收到消息:
此时再去看下主题,会发下多了个主题:__consumer_offsets
,这个主题是Kafka内部的主题,用来记录Consumer的消费位移。