赞
踩
今天下午真是天朗气清啊,作者的内心也是荡漾无比,趁着这个大号的心情,给学习kafka的童鞋开一扇门~
本人在浏览kafka搭建的时候,没有发现一篇kafka在windows环境的搭建文章是清晰明了(划重点)的。辣么,今天就由我来给大家写一篇完整的Kafka集群搭建的文章。在发正文之前,大哥我在国内知名的大咖群里得到了一个消息,kafka还可以用作区块链做共识(颜色必须够骚),大家都来涨涨姿势。
说完上面的话,大家是不是对我的崇拜一下就起来啦。
本人下载的是apache-zookeeper-3.5.8-bin.tar.gz,kafka_2.12-2.5.0.tgz版本的压缩包。
运行kafka是需要在zookeeper注册的。
先把apache-zookeeper-3.5.8-bin.tar.gz解压,把解压后的apache-zookeeper-3.5.8-bin文件复制三个,并改名为apache-zookeeper-3.5.8-bin-0,apache-zookeeper-3.5.8-bin-1,apache-zookeeper-3.5.8-bin-2。
在.\apache-zookeeper-3.5.8-bin-0\conf\zoo_sample.cfg文件复制并重命名为zoo.cfg,剩下的两个都这样操作。
打开\apache-zookeeper-3.5.8-bin-0\conf\zoo.cfg文件,修改如下参数
- # zookeeper的配置路径一定要用\\,否则路径不会被识别
- dataDir=E:\\workAndLike\\zookeeper\\apache-zookeeper-3.5.8-bin-0\\data
- clientPort=2181
- server.0=127.0.0.1:8880:7770
- server.1=127.0.0.1:8881:7771
- server.2=127.0.0.1:8882:7772
- # 这是修改zookeeper启动端口的
- admin.serverPort=8080
打开\apache-zookeeper-3.5.8-bin-1\conf\zoo.cfg文件,修改如下参数
- # zookeeper的配置路径一定要用\\,否则路径不会被识别
- dataDir=E:\\workAndLike\\zookeeper\\apache-zookeeper-3.5.8-bin-1\\data
- clientPort=2182
- server.0=127.0.0.1:8880:7770
- server.1=127.0.0.1:8881:7771
- server.2=127.0.0.1:8882:7772
- # 这是修改zookeeper启动端口的
- admin.serverPort=8081
打开\apache-zookeeper-3.5.8-bin-2\conf\zoo.cfg文件,修改如下参数
- # zookeeper的配置路径一定要用\\,否则路径不会被识别
- dataDir=E:\\workAndLike\\zookeeper\\apache-zookeeper-3.5.8-bin-2\\data
- clientPort=2183
- server.0=127.0.0.1:8880:7770
- server.1=127.0.0.1:8881:7771
- server.2=127.0.0.1:8882:7772
- # 这是修改zookeeper启动端口的
- admin.serverPort=8082
在.\apache-zookeeper-3.5.8-bin-0\data文件夹下新建名称为myid的文件(名称为myid,无后缀),编辑文件内容
内容为0
version-2文件夹是运行后自动生成的。
说好给大家写一篇详细的文章,还是把myid的文件打开给大家看看。
在.\apache-zookeeper-3.5.8-bin-1\data文件夹下新建名称为myid的文件(名称为myid,无后缀),编辑文件内容
内容为1,此处不贴图
在.\apache-zookeeper-3.5.8-bin-2\data文件夹下新建名称为myid的文件(名称为myid,无后缀),编辑文件内容
内容为2,此处不贴图
启动zookeeper, 在bin文件夹下执行zkServer.cmd
剩下的两个同样方法启动。
**重点**
三个zookeeper是互相注册的,启动前面两个zookeeper的时候会报错,这是正常的。
这是apache-zookeeper-3.5.8-bin-0启动的报错,可以猜出来apache-zookeeper-3.5.8-bin-1启动的报错是找不到127.0.0.1:8882:7772,这是截图就不发了。
解压kafka_2.12-2.5.0.tgz压缩包,将.\kafka_2.12-2.5.0\config文件夹下的server.properties文件, 复制3个并分别改名为server1.properties,server2.properties,server3.properties
对server1.properties修改
- broker.id=0
- # 本人是在一台机搭建集群,这改为127.0.0.1
- listeners=PLAINTEXT://127.0.0.1:9092
- # broker处理消息的最大线程数 处理网络io
- num.network.threads=3
- # broker处理磁盘IO的线程数
- num.io.threads=8
- log.dirs=E:\kafka_2.12-2.5.0\logs\log1
- # 保留三天,也可以更短 72
- log.retention.hours=72
- # 对应zookeeper启动的端口
- zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
对server2.properties修改
- broker.id=1
- # 本人是在一台机搭建集群,这改为127.0.0.1
- listeners=PLAINTEXT://127.0.0.1:9093
- # broker处理消息的最大线程数 处理网络io
- num.network.threads=3
- # broker处理磁盘IO的线程数
- num.io.threads=8
- log.dirs=E:\kafka_2.12-2.5.0\logs\log2
- # 保留三天,也可以更短 72
- log.retention.hours=72
- # 对应zookeeper启动的端口
- zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
对server3.properties修改
- broker.id=2
- # 本人是在一台机搭建集群,这改为127.0.0.1
- listeners=PLAINTEXT://127.0.0.1:9094
- # broker处理消息的最大线程数 处理网络io
- num.network.threads=3
- # broker处理磁盘IO的线程数
- num.io.threads=8
- log.dirs=E:\kafka_2.12-2.5.0\logs\log3
- # 保留三天,也可以更短 72
- log.retention.hours=72
- # 对应zookeeper启动的端口
- zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
启动kafka
在kafka_2.12-2.5.0下执行下面的命令
- bin\windows\kafka-server-start.bat config\server1.properties
- bin\windows\kafka-server-start.bat config\server2.properties
- bin\windows\kafka-server-start.bat config\server3.properties
4.1创建topic,同时分配了3个分区,3个备份,topic的名称为my-test
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181,localhost:2182,localhost:2183 --replication-factor 3 --partitions 3 --topic my-test
效果如图:
4.2查看topic
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181,localhost:2182,localhost:2183
效果如图:
4.3 查看topic为my-test的具体信息
bin\windows\kafka-topics.bat --zookeeper localhost:2181,localhost:2182,localhost:2183 --describe --topic my-test
效果如图:
4.4 启动生产者命令
bin\windows\kafka-console-producer.bat --broker-list localhost:9092,localhost:9093,localhost:9094 --topic my-test
效果如图:
4.5 启动消费者命令
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic my-test
如果电脑内存比较小,我们可以修改kafka的启动文件来配置。
修改kafka-server-start.bat
- IF NOT ERRORLEVEL 1 (
- rem 32-bit OS
- set KAFKA_HEAP_OPTS=-Xmx256M -Xms256M
- ) ELSE (
- rem 64-bit OS
- set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M
- )
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。