kafka 很多人说不需要安装zk的是因为他们都使用了kafka自带的zk至于kafka为什么使用zk,你首先要知道zk的作用, 作为去中心化的集群模式。需要要消费者知道现在那些生产者(对于消费者而言,kafka就是生产者)是可用的。如果没了zk消费者如何知道呢?如果每次消费者在消费之前都去尝试连接生产者测试下是否连接成功,效率呢?所以kafka需要zk,在kafka的设计中就依赖了zk了。
本地安装kafka操作步骤
1.下载安装
http://kafka.apache.org/downloads.html
本地安装kafka操作步骤
1.下载安装
http://kafka.apache.org/downloads.html
2.修改配置文件
D:\kafka\kafka_2.12-2.1.0\config
1) 修改config目录下的server.properties文件,修改
log.dirs=D:\kafka\kafka_2.12-2.1.0/kafka-logs
D:\kafka\kafka_2.12-2.1.0\config
1) 修改config目录下的server.properties文件,修改
log.dirs=D:\kafka\kafka_2.12-2.1.0/kafka-logs
2) 修改config目录下的log4j.properties文件,修改
log4j.appender.kafkaAppender.File=D:\kafka\kafka_2.12-2.1.0/logs/server.log
log4j.appender.kafkaAppender.File=D:\kafka\kafka_2.12-2.1.0/logs/server.log
3) 修改config目录下的zookeeper.properties文件,加入或者修改
dataDir=D:\kafka\kafka_2.12-2.1.0/data/zookeeper
dataDir=D:\kafka\kafka_2.12-2.1.0/data/zookeeper
3.启动zookeepter
zookeeper-server-start.bat ../../config/zookeeper.properties
启动成功后,不要关闭这个cmd命令行界面,因为关闭它,kafka进程就停了。
zookeeper-server-start.bat ../../config/zookeeper.properties
启动成功后,不要关闭这个cmd命令行界面,因为关闭它,kafka进程就停了。
4.启动kafka broker
命令:kafka-server-start.bat ../../config/server.properties
启动成功后,不要关闭这个cmd命令行界面,因为关闭它,kafka进程就停了。
5.创建toppic主题
命令:kafka-run-class.bat kafka.admin.TopicCommand --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
这个命令创建了名字为"test"的topic。
命令:kafka-run-class.bat kafka.admin.TopicCommand --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
这个命令创建了名字为"test"的topic。
6.发送命令
命令:kafka-console-producer.bat --broker-list localhost:9092 --topic hellotest
注意这里的hellotest就是刚才创建的topic。这个命令执行后,可以直接在命令行后面输入你要发的消息。
命令:kafka-console-producer.bat --broker-list localhost:9092 --topic hellotest
注意这里的hellotest就是刚才创建的topic。这个命令执行后,可以直接在命令行后面输入你要发的消息。
后面的88888就我输入的,往hellotest这个topic发送的消息。下面我们创建消费者来消费消息。
7.接收命令
命令:kafka-console-consumer.bat --zookeeper localhost:2181 --topic hellotest --from-beginning
命令:kafka-console-consumer.bat --zookeeper localhost:2181 --topic hellotest --from-beginning
同样的,必须指定到hellotest这个topic消费消息,我在生产者的cmd命令行界面中输入88888后,消息者cmd命令行界面立刻接收到了。
文档参考说明
https://www.cnblogs.com/mrblue/p/6425309.html
https://blog.csdn.net/linsongbin1/article/details/48022941
https://blog.csdn.net/csdn_sunlighting/article/details/81516646
文档参考说明
https://www.cnblogs.com/mrblue/p/6425309.html
https://blog.csdn.net/linsongbin1/article/details/48022941
https://blog.csdn.net/csdn_sunlighting/article/details/81516646
来源:oschina
链接:https://my.oschina.net/u/3855429/blog/4355670