一、三台服务器信息
-
三台服务器
服务器名称 服务器ip centos7虚拟机1 192.168.136.27 centos7虚拟机2 192.168.136.28 centos7虚拟机3 192.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、官网下载地址
- 官网下载地址:http://kafka.apache.org/downloads.html
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@localhost module]# 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@localhost module]# 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:9092 advertised.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_HOME export KAFKA_HOME=/opt/module/kafka-3.0.0 export 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/tcp firewall-cmd --permanent --zone=public --add-port=2888/tcp firewall-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 文件的大小,默认最大 1G log.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/ root@192.168.136.28:/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 root@192.168.136.28:/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/tcp firewall-cmd --permanent --zone=public --add-port=2888/tcp firewall-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/ root@192.168.136.29:/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 root@192.168.136.29:/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/tcp firewall-cmd --permanent --zone=public --add-port=2888/tcp firewall-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服务文章来源:https://www.toymoban.com/news/detail-764274.html
[root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/ [root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
文章来源地址https://www.toymoban.com/news/detail-764274.html
到了这里,关于Kafka3.0.0版本——集群部署(linux环境-centos7)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!