一、安装JDK
1、在usr目录下新建Java目录,然后将下载的JDK拷贝到这个新建的Java目录中1
创建目录命令:mkdir /usr/java
2、进入到Java目录中解压下载的JDK
解压命令:tar -zxvf jdk-18_linux-x64_bin.tar.gz
在1主机上,将安装包分发到其他机器
scp -r /opt/jdk1.8/ node2:/opt/
3、设置环境变量
设置命令:vim /etc/profile
输入上面的命令后,shift+g快速将光标定位到最后一行,然后按“i”,再输入下面代码
#set java environment
JAVA_HOME=/usr/java/jdk1.8
CLASSPATH=$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export PHTH JAVA_HOME CLASSPATH
填写完代码后按ESC键,输入“:wq”保存并退出编辑页面
4、输入下面命令让设置的环境变量生效
生效命令:source /etc/profile
5、验证JDK是否安装成功java
验证命令:Java -version
二、安装Zookeeper
Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台server组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。
Zookeeper运行需要java环境,所以需要提前安装jdk。对于安装leader+follower模式的集群,大致过程如下:
配置主机名称到IP地址映射配置
修改ZooKeeper配置文件
远程复制分发安装文件
设置myid
启动ZooKeeper集群
如果要想使用Observer模式,可在对应节点的配置文件添加如下配置:
peerType=observer
其次,必须在配置文件指定哪些节点被指定为Observer,如:
server.1:node1:2181:3181:observer
其次,必须在配置文件指定哪些节点被指定为 Observer,如:
server.1:localhost:2181:3181:observer
这里,我们安装的是leader+follower模式
服务器IP
主机名 myid的值
第一步:下载zookeeeper的压缩包,下载网址如下
Index of /dist/zookeeper
我们在这个网址下载我们使用的zk版本为3.4.6
下载完成之后,上传到我们的linux的/opt路径下准备进行安装
第二步:解压
在node1主机上,解压zookeeper的压缩包到/opt路径下去,然后准备进行安装
tar -zxvf zookeeper-3.4.6.tar.gz
第三步:修改配置文件
在node1主机上,修改配置文件
cd /zookeeper-3.4.6/conf/
cp zoo_sample.cfg zoo.cfg
mkdir zkdatas
vim zoo.cfg
修改以下内容
#Zookeeper的数据存放目录
dataDir=/opt/zookeeper-3.4.6/zkdatas
# 保留多少个快照
autopurge.snapRetainCount=3
# 日志多少小时清理一次
autopurge.purgeInterval=1
# 集群中服务器地址
#当前服务器的ip设置为0.0.0.0
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
第四步:添加myid配置
在node1主机的/opt/zookeeper-3.4.6/zkdatas/这个路径下创建一个文件,文件名为myid ,文件内容为1
vim myid
echo 1 > /opt/zookeeper/data//myid
第五步:安装包分发并修改myid的值
在node1主机上,将安装包分发到其他机器
第一台机器上面执行以下两个命令
scp -r /opt/zookeeper-3.4.6/ node2:/opt/
scp -r /opt/zookeeper-3.4.6/ node3:/opt/
第二台机器上修改myid的值为2
echo 2 > /export/server/zookeeper-3.4.6/zkdatas/myid
第三台机器上修改myid的值为3
echo 3 > /export/server/zookeeper-3.4.6/zkdatas/myid
第六步:三台机器启动zookeeper服务
三台机器分别启动zookeeper服务
这个命令三台机器都要执行
/export/server/zookeeper-3.4.6/bin/zkServer.sh start
三台主机分别查看启动状态
/export/server/zookeeper-3.4.6/bin/zkServer.sh status
配置Path环境变量
1:分别在三台中,修改/etc/proflie,添加以下内容
export ZOOKEEPER_HOME=/export/server/zookeeper-3.4.6
export PATH=:$ZOOKEEPER_HOME/bin:$PATH
2:分别在三台主机中,source /etc/profile
切记:必须source,不然不生效
# 启动服务
./zkServer.sh start
# 查看状态
./zkServer.sh status
# 停止服务
./zkServer.sh stop
# 重启服务
./zkServer.sh restart
原文链接:https://blog.csdn.net/qq_64495672/article/details/124371474
三、安装Kafka
1 ) 解压安装包
[atguigu@hadoop102 software]$ tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
2 ) 修改解压后的文件名称
[atguigu@hadoop102 module]$ mv kafka_2.12-3.0.0/ kafka
3 ) 进入到 /opt/module/kafka 目录,修改配置文件
[atguigu@hadoop102 kafka]$ cd config/
[atguigu@hadoop102 config]$ vim 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
# 检查过期数据的时间,默认 5 分钟检查一次是否数据过期
log.retention.check.interval.ms=300000
# 配置连接 Zookeeper 集群地址(在 zk 根目录下创建 /kafka ,方便管理)
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
4 ) 分发安装包
[atguigu@hadoop102 module]$ scp -r /opt/zookeeper-3.5.8/ node2:/opt/
5 ) 分别在 hadoop103 和 hadoop104 上修改配置文件 /opt/module/kafka/config/server.properties
中的 broker.id=1 、 broker.id=2
注: broker.id 不得重复,整个集群中唯一。
[atguigu@hadoop103 module]$ vim kafka/config/server.properties
修改 :
# The id of the broker. This must be set to a unique integer for
each broker.
broker.id=1
[atguigu@hadoop104 module]$ vim kafka/config/server.properties
修改 :
# The id of the broker. This must be set to a unique integer for
each broker.
broker.id=2
6 ) 配置环境变量
( 1 )在 /etc/profile.d/my_env.sh 文件中增加 kafka 环境变量配置
[atguigu@hadoop102 module]$ sudo vim /etc/profile
增加如下内容:
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
( 2 )刷新一下环境变量。
[atguigu@hadoop102 module]$ source /etc/profile
( 3 )分发环境变量文件到其他节点,并 source 。
[atguigu@hadoop102 module]$ sudo /home/atguigu/bin/xsync /etc/profile.d/my_env.sh
[atguigu@hadoop103 module]$ source /etc/profile
[atguigu@hadoop104 module]$ source /etc/profile
7 ) 启动集群
( 1 )先启动 Zookeeper 集群,然后启动 Kafka 。
[atguigu@hadoop102 kafka]$ zk.sh start
( 2 )依次在 hadoop102 、 hadoop103 、 hadoop104 节点上启动 Kafka 。
[atguigu@hadoop102 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[atguigu@hadoop103 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
[atguigu@hadoop104 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
注意:配置文件的路径要能够到 server.properties 。
8 ) 关闭集群
[atguigu@hadoop102 kafka]$ bin/kafka-server-stop.sh
[atguigu@hadoop103 kafka]$ bin/kafka-server-stop.sh
[atguigu@hadoop104 kafka]$ bin/kafka-server-stop.sh
通过jps命令查看运行的情况