Kafka集群的搭建(windows版本)

今天下午真是天朗气清啊,作者的内心也是荡漾无比,趁着这个大号的心情,给学习kafka的童鞋开一扇门~

                                                                  

       本人在浏览kafka搭建的时候,没有发现一篇kafka在windows环境的搭建文章是清晰明了(划重点)的。辣么,今天就由我来给大家写一篇完整的Kafka集群搭建的文章。在发正文之前,大哥我在国内知名的大咖群里得到了一个消息,kafka还可以用作区块链做共识(颜色必须够骚),大家都来涨涨姿势。

       说完上面的话,大家是不是对我的崇拜一下就起来啦。

                                                                       

正文(大家肃静!)

本人下载的是apache-zookeeper-3.5.8-bin.tar.gzkafka_2.12-2.5.0.tgz版本的压缩包。

运行kafka是需要在zookeeper注册的。

启动zookeeper的集群

1.

先把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。

 

2.

在.\apache-zookeeper-3.5.8-bin-0\conf\zoo_sample.cfg文件复制并重命名为zoo.cfg,剩下的两个都这样操作。

3.

打开\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

4.

       在.\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,此处不贴图

5.

启动zookeeper, 在bin文件夹下执行zkServer.cmd

剩下的两个同样方法启动。

**重点**

三个zookeeper是互相注册的,启动前面两个zookeeper的时候会报错,这是正常的。

这是apache-zookeeper-3.5.8-bin-0启动的报错,可以猜出来apache-zookeeper-3.5.8-bin-0启动的报错是找不到127.0.0.1:8882:7772,这是截图就不发了。

启动kafka的集群

1.

解压kafka_2.12-2.5.0.tgz压缩包,将.\kafka_2.12-2.5.0\config文件夹下的server.properties文件, 复制3个并分别改名为server1.properties,server2.properties,server3.properties

2.

对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

3.

启动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.

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
)

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章