kafka_2.13-3.2.3 集群搭建

Published on 2022-09-30 13:24 in 分类: 软件 with 狂盗一枝梅
分类: 软件

1、搭建前准备

除此之外,windows下也需要配置hosts

192.168.3.21 hadoop01
192.168.3.22 hadoop02
192.168.3.23 hadoop03

如果不配置,最后在widows下使用工具测试集群状态会连接不上集群

2、下载kafka_2.13-3.2.3

官方下载地址:https://kafka.apache.org/downloads

推荐下载:https://downloads.apache.org/kafka/3.2.3/kafka_2.13-3.2.3.tgz

下载完成后上传到hadoop01机器下的/usr/local文件夹,使用

tar -zxvf /usr/local/kafka_2.13-3.2.3.tgz -C /usr/local/

命令解压,然后创建软链接

ln -s /usr/local/kafka_2.13-3.2.3 kafka

3、创建日志文件目录

mkdir /usr/local/kafka/logs

为之后的配置文件使用。

然后找到zookeeper的数据存储目录,也用以之后的配置文件修改使用;我的目录是:/usr/local/zookeeper/conf/zkData,这里推荐在/usr/local/kafka文件夹内新建zkData目录。

4、修改配置文件

4.1 server.properties

[root@hadoop01 config]# vim /usr/local/kafka/config/server.properties
#修改以下配置
broker.id=1
log.dirs=/usr/local/kafka/logs
num.partitions=3
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181

4.2 zookeeper.properties

[root@hadoop01 config]# vim /usr/local/kafka/config/zookeeper.properties
dataDir=/usr/local/zookeeper/conf/zkData

4.3 producer.properties

[root@hadoop01 config]# vim /usr/local/kafka/config/producer.properties 

bootstrap.servers=hadoop01:2181,hadoop02:2181,hadoop03:2181

4.4 consumer.properties

[root@hadoop01 config]# vim /usr/local/kafka/config/consumer.properties 

bootstrap.servers=hadoop01:2181,hadoop02:2181,hadoop03:2181

5、配置环境变量

vim /etc/profile

export KAFKA_HOME=/root/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin

并将环境变量分发到其它两台虚拟机。

6、程序分发

scp -r /usr/local/kafka_2.13-3.2.3 hadoop02:/usr/local/
scp -r /usr/local/kafka_2.13-3.2.3 hadoop03:/usr/local/

并在两台机器上新建软链接

ln -s /usr/local/kafka_2.13-3.2.3 kafka

7、修改server编号

分别进入hadoop02和hadoop03,修改server.properties配置文件中的server编号为2和3

[root@hadoop02 config]# vim /usr/local/kafka/config/server.properties 

broker.id=2
[root@hadoop03 config]# vim /usr/local/kafka/config/server.properties 

broker.id=3

8、启动Kafka集群

在每台机器上执行命令:

/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 

9、服务验证

每台机器上执行命令jps,可以看到有kafka进程了

[root@hadoop01 config]# jps
1954 DataNode
3234 HRegionServer
4194 Kafka
2405 ResourceManager
2550 NodeManager
5847 Jps
1529 QuorumPeerMain
1804 NameNode
3084 HMaster
[root@hadoop02 config]# jps
1664 DataNode
2929 Kafka
1875 NodeManager
2165 HMaster
2040 HRegionServer
1753 SecondaryNameNode
4346 Jps
1516 QuorumPeerMain
[root@hadoop03 config]# jps

1778 NodeManager
3574 Jps
1655 DataNode
1943 HRegionServer
1513 QuorumPeerMain
2602 Kafka

这表示服务已经正常启动,接下来进行功能验证

10、集群测试

为了方便测试,可以使用kafkatoll管理工具进行测试

官网地址:https://www.kafkatool.com/download.html

下载地址:https://www.kafkatool.com/download2/offsetexplorer_64bit.exe

安装好之后添加集群:

image-20220930131709714

完成之后可以看到左侧集群中出现了一个名为localhost的菜单

image-20220930131733103

点击topic,新增topic

image-20220930131826398

成功创建了Topic,则表示集群已经创建成功了

image-20220930131904437

可以看到三个prtition分布在三台机器上

image-20220930132000427

image-20220930132021570

image-20220930132032472

service脚本

vim /etc/init.d/kafka 

#!/bin/bash
#chkconfig:2345 20 90
#description:kafka
#processname:kafka
export JAVA_HOME=//usr/local/jdk
case $1 in
        start) /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties ;;
        stop)  /usr/local/kafka/bin/kafka-server-stop.sh ;;
        *) echo "require start|stop" ;;
esac

#hadoop #kafka
目录