Kafka是基于Zookeeper来实现分布式协调的,所以在搭建Kafka节点之前需要先搭建好Zookeeper节点。而Zookeeper和Kafka都依赖于JDK,我这里先安装好了JDK:
yum install java-1.8.0-openjdk* -y
1
[root@192.168.99.4 ~]# java --version
java 11.0.5 2019-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)
[root@txy-server2 ~]#
准备好JDK环境后,然后到Linux中使用wget命令进行下载,如下:
#下载压缩包
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
#解压
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
#进入目录
cd apache-zookeeper-3.5.8-bin
#创建id
mkdir tmp
echo 1 > tmp/myid
#复制文件
cp conf/zoo_sample.cfg conf/zoo.cfg
#修改配置文件
vi zoo.cfg (进入文件进行编辑)
修改如下
#将dataDir后边的路径修改为自己tmp 的路径,此处为
dataDir=./tmp
#继续添加如下内容:
server.1=192.168.100.85:2888:3888
server.2=192.168.100.86:2888:3888
server.3=192.168.100.36:2888:3888
#这里的192.168.100.36,192.168.100.85,192.168.100.86换成自己对应的主机名
注:dataDir=./tmp是缓存数据路径
2888为组成zookeeper服务器之间的通信端口3888为用来选举leader的端口 三台虚拟机都需操作
同上操作另外2台服务器、进入tmp目录,将myid里边的1改为2, 在kafka03主机下,进入tmp目录,将myid里边的1改为3。
配置zookpeeper 环境变量(可选)
export ZOOKEEPER_HOME=/root/apache-zookeeper-3.5.8-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH
#/root/apache-zookeeper-3.5.8-bin 要换为自己对应存放zookeeper-3.4.5路径
bin/zkServer.sh stop 停止运行
bin/zkServer.sh status 查询状态
bin/zkServer.sh start 启动
启动zookeeper集群,在zookeeper-3.4.5 目录下执行 bin/zkServer.sh start ,出现如下图内容就算完成啦。
注:三台主机都要分别启动

安装完Zookeeper后,接下来就可以安装Kafka了,同样的套路首先去Kafka的官网下载地址,复制下载链接:
https:// zookeeper.apache.org/re leases.html#download
然后到Linux中使用wget命令进行下载,如下:
wget https://archive.apache.org/dist/kafka/2.4.1/kafka_2.11-2.4.1.tgz
# 2.11是scala的版本,2.4.1是kafka的版本
tar -xzf kafka_2.11-2.4.1.tgz
cd kafka_2.11-2.4.1
vim config/server.properties
# 指定该节点的brokerId,同一集群中的brokerId需要唯一
broker.id=0
# 指定监听的地址及端口号,该配置项是指定内网ip
listeners=PLAINTEXT://192.168.100.86:9092
# 如果需要开放外网访问,则在该配置项指定外网ip
advertised.listeners=PLAINTEXT://192.168.100.86:9092
# 指定kafka日志文件的存储目录
log.dirs=/usr/local/kafka/kafka-logs
# 指定zookeeper的连接地址,若有多个地址则用逗号分隔
zookeeper.connect=192.168.100.86:2181,192.168.100.85:2181,192.168