目录
一、三台服务器信息
- 三台服务器服务器名称服务器ipcentos7虚拟机1192.168.136.27centos7虚拟机2192.168.136.28centos7虚拟机3192.168.136.29
二、三台服务分别需要安装Zookeeper(Kafka需要Zookeeper支持)
- Zookeeper集群安装参考此博文链接:https://wwwxz.blog.csdn.net/article/details/129280956?spm=1001.2014.3001.5502
三、Kafka3.0.0官网下载
3.1、官网下载地址
3.2、下载步骤
- 下载步骤如下所示:
四、Kafka3.0.0集群部署
4.1、centos7虚拟机1 (192.168.136.27)服务器安装步骤
4.1.1、解压安装(以下所有演示操作lz都使用的root用户)
- 上传安装包到home目录下
- 在opt目录下创建module文件夹(如果没有创建的话)
[root@localhost home]# mkdir /opt/module
- 进入home目录,解压安装包到opt/module目录下
[root@localhost home]# tar -zxvf kafka_2.12-3.0.0.tgz -C/opt/module/
- 进入opt/module目录下,修改解压后的kafka_2.12-3.0.0名称为kafka-3.0.0
[root@localhost home]# cd /opt/module/[root@localhostmodule]# mv kafka_2.12-3.0.0/ kafka-3.0.0
4.1.2、在Kafka根目录下创建datas文件
- 在/opt/module/kafka-3.0.0目录下创建datas文件夹,用于日志的存储目录
[root@localhost kafka-3.0.0]# mkdir datas
4.1.3、在Zookeeper根目录下创建/kafka-3.0.0文件夹
- 在/opt/module/zookeeper-3.5.7目录下创建kafka-3.0.0文件夹,方便管理kafka
[root@localhost kafka-3.0.0]# cd /opt/module/zookeeper-3.5.7[root@localhost zookeeper-3.5.7]# mkdir kafka-3.0.0
4.1.4、修改server.properties配置文件
- 进入到/opt/module/kafka-3.0.0/config 目录,修改server.properties配置文件
[root@localhostmodule]# cd kafka-3.0.0/config/[root@localhost config]# vim server.properties
- 修改server.properties配置文件中以下4个地方内容
#broker 的全局唯一编号,不能重复,只能是数字。broker.id=0
#放开端口listeners=PLAINTEXT://192.168.136.27:9092advertised.listeners=PLAINTEXT://192.168.136.27:9092
#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔log.dirs=/opt/module/kafka-3.0.0/datas
#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)zookeeper.connect=192.168.136.27:2181,192.168.136.28:2181,192.168.136.29:2181/kafka-3.0.0
4.1.5、配置kafka环境变量
- 在/etc/profile.d/my_env.sh 文件中增加 kafka环境变量配置,增加如下内容:
#KAFKA_HOMEexport KAFKA_HOME=/opt/module/kafka-3.0.0export PATH=$PATH:$KAFKA_HOME/bin
- 刷新环境变量
[root@localhost zookeeper-3.5.7]# source /etc/profile
4.1.6、在防火墙中打开要用到的端口 9092,如下所示:
- 开启防火墙,开放9092端口,并重新关闭防火墙如下图所示。
#查看防火墙的状态命令systemctl status firewalld#打开防火墙的状态命令sudo systemctl start firewalld#开放2181、2888和3888端口firewall-cmd --permanent --zone=public--add-port=2181/tcpfirewall-cmd --permanent --zone=public--add-port=2888/tcpfirewall-cmd --permanent --zone=public--add-port=3888/tcp#重新加载firewall-cmd --reload#关闭防火墙的状态命令sudo systemctl stop firewalld
4.1.7、server.properties配置文件参数解读
- 参数解读
#broker 的全局唯一编号,不能重复,只能是数字。broker.id=0#处理网络请求的线程数量num.network.threads=3#用来处理磁盘 IO 的线程数量num.io.threads=8#发送套接字的缓冲区大小socket.send.buffer.bytes=102400#接收套接字的缓冲区大小socket.receive.buffer.bytes=102400#请求套接字的缓冲区大小socket.request.max.bytes=104857600#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔log.dirs=/opt/module/kafka/datas#topic 在当前 broker 上的分区个数num.partitions=1#用来恢复和清理 data 下数据的线程数量num.recovery.threads.per.data.dir=1# 每个 topic 创建时的副本数,默认时 1 个副本offsets.topic.replication.factor=1#segment 文件保留的最长时间,超时将被删除log.retention.hours=168#每个 segment 文件的大小,默认最大 1Glog.segment.bytes=1073741824
4.2、centos7虚拟机2 (192.168.136.28)服务器安装步骤
4.2.1、在opt目录下创建module文件夹(如果没有创建的话)
- 在opt目录下创建module文件夹 与 centos7虚拟机1 (192.168.136.27)服务器中kafka-3.0.0解压安装包的位置相同即可。
[root@localhost home]# mkdir /opt/module
4.2.2、拷贝配置好的 kafka-3.0.0 到centos7虚拟机2 (192.168.136.28)服务器
- scp基本语法
scp -r $pdir/$fname $user@$host:$pdir/$fname命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
- 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的 kafka-3.0.0 到centos7虚拟机2 (192.168.136.28)服务器
[root@localhost home]# scp -r /opt/module/kafka-3.0.0/ [email protected]:/opt/module/
4.2.3、拷贝配置好的环境变量文件到centos7虚拟机2 (192.168.136.28)服务器并刷新环境变量
- scp基本语法
scp -r $pdir/$fname $user@$host:$pdir/$fname命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
- 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的环境变量文件到centos7虚拟机2 (192.168.136.28)服务器
[root@localhost home]# scp -r /etc/profile.d/my_env.sh [email protected]:/etc/profile.d/my_env.sh
- 在centos7虚拟机2 (192.168.136.28)服务器上刷新环境变量
[root@localhost zookeeper-3.5.7]# source /etc/profile
4.2.4、修改配置文件/opt/module/kafka-3.0.0/config/server.properties中的内
- 在centos7虚拟机2 (192.168.136.28)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的broker.id=1(注:broker.id 不得重复,整个集群中唯一)
broker.id=1
- 在centos7虚拟机2 (192.168.136.28)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的端口指定的服务器ip。
4.2.5、在Zookeeper根目录下创建/kafka-3.0.0文件夹
- 在/opt/module/zookeeper-3.5.7目录下创建kafka-3.0.0文件夹,方便管理kafka
[root@localhost kafka-3.0.0]# cd /opt/module/zookeeper-3.5.7[root@localhost zookeeper-3.5.7]# mkdir kafka-3.0.0
4.2.6、在防火墙中打开要用到的端口 9092,如下所示:
- 开启防火墙,开放9092端口,并重新关闭防火墙如下图所示。
#查看防火墙的状态命令systemctl status firewalld#打开防火墙的状态命令sudo systemctl start firewalld#开放2181、2888和3888端口firewall-cmd --permanent --zone=public--add-port=2181/tcpfirewall-cmd --permanent --zone=public--add-port=2888/tcpfirewall-cmd --permanent --zone=public--add-port=3888/tcp#重新加载firewall-cmd --reload#关闭防火墙的状态命令sudo systemctl stop firewalld
4.3、centos7虚拟机3 (192.168.136.29)服务器安装步骤
4.3.1、在opt目录下创建module文件夹(如果没有创建的话)
- 在opt目录下创建module文件夹 与 centos7虚拟机1 (192.168.136.27)服务器中kafka-3.0.0解压安装包的位置相同即可。
[root@localhost home]# mkdir /opt/module
4.3.2、拷贝配置好的 kafka-3.0.0 到centos7虚拟机3(192.168.136.29)服务器
- scp基本语法
scp -r $pdir/$fname $user@$host:$pdir/$fname命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
- 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的 kafka-3.0.0 到centos7虚拟机3 (192.168.136.29)服务器
[root@localhost home]# scp -r /opt/module/kafka-3.0.0/ [email protected]:/opt/module/
4.3.3、拷贝配置好的环境变量文件到centos7虚拟机3 (192.168.136.29)服务器并刷新环境变量
- scp基本语法
scp -r $pdir/$fname $user@$host:$pdir/$fname命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
- 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的环境变量文件到centos7虚拟机3 (192.168.136.29)服务器
[root@localhost home]# scp -r /etc/profile.d/my_env.sh [email protected]:/etc/profile.d/my_env.sh
- 在centos7虚拟机3 (192.168.136.29)服务器上刷新环境变量
[root@localhost~]# source /etc/profile
4.3.4、修改配置文件/opt/module/kafka-3.0.0/config/server.properties中的内容
- 在centos7虚拟机3 (192.168.136.29)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的broker.id=2(注:broker.id 不得重复,整个集群中唯一)
broker.id=2
- 在centos7虚拟机3 (192.168.136.29)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的端口指定的服务器ip。
4.2.5、在Zookeeper根目录下创建/kafka-3.0.0文件夹
- 在/opt/module/zookeeper-3.5.7目录下创建kafka-3.0.0文件夹,方便管理kafka
[root@localhost kafka-3.0.0]# cd /opt/module/zookeeper-3.5.7[root@localhost zookeeper-3.5.7]# mkdir kafka-3.0.0
4.3.6、在防火墙中打开要用到的端口 9092,如下所示:
- 开启防火墙,开放9092端口,并重新关闭防火墙如下图所示。
#查看防火墙的状态命令systemctl status firewalld#打开防火墙的状态命令sudo systemctl start firewalld#开放2181、2888和3888端口firewall-cmd --permanent --zone=public--add-port=2181/tcpfirewall-cmd --permanent --zone=public--add-port=2888/tcpfirewall-cmd --permanent --zone=public--add-port=3888/tcp#重新加载firewall-cmd --reload#关闭防火墙的状态命令sudo systemctl stop firewalld
4.4、集群操作
4.4.1、首先,分别启动三台服务器的 Zookeeper服务
- 启动三台服务器的 Zookeeper服务
[root@localhost home]# sh zk.sh start
4.4.2、分别启动三台服务器的Kafka服务
- 启动centos7虚拟机1 (192.168.136.27)服务器 的Kafka服务
[root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/[root@localhost kafka-3.0.0]# bin/kafka-server-start.sh -daemon config/server.properties
- 启动centos7虚拟机2(192.168.136.28)服务器 的Kafka服务
[root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/[root@localhost kafka-3.0.0]# bin/kafka-server-start.sh -daemon config/server.properties
- 启动centos7虚拟机3(192.168.136.29)服务器 的Kafka服务
[root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/[root@localhost kafka-3.0.0]# bin/kafka-server-start.sh -daemon config/server.properties
4.4.3、分别停止三台服务器的Kafka服务
- 停止centos7虚拟机1 (192.168.136.27)服务器 的Kafka服务
[root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/[root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
- 停止centos7虚拟机2 (192.168.136.28)服务器 的Kafka服务
[root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/[root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
- 停止centos7虚拟机3 (192.168.136.29)服务器 的Kafka服务
[root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/[root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
标签:
kafka
本文转载自: https://blog.csdn.net/li1325169021/article/details/129804602
版权归原作者 小志的博客 所有, 如有侵权,请联系我们删除。
版权归原作者 小志的博客 所有, 如有侵权,请联系我们删除。