kafka下载地址:http://kafka.apache.org/downloads
一、安装jdk
1.下载jdk压缩包并移动到/usr/local目录
mv jdk-8u162-linux-x64.tar.gz /usr/local
2.解压
tar -zxvf jdk-8u162-linux-x64.tar.gz
3. 配置JDK环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_162
export CLASSPATH=.😒{JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
更新配置
source /etc/profile
4.检查安装完成
二、安装zk
1.下载zookeeper压缩包并移动到/usr/local目录
mv zookeeper-3.4.12.tar.gz /usr/local/
2.解压zookeeper并改名
tar -zxvf zookeeper-3.4.12.tar.gz
mv zookeeper-3.4.12 zookeeper
3.创建zookeeper的数据和日志存放路径
cd zookeeper
mkdir data
mkdir log
4.添加zk的myid
在data目录下新建文件myid,内容为zk的唯一id,搭建zk集群时会用到server.${myid}
5.修改zookeeper配置文件修改配置文件
cd conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改如下内容:
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
6.添加集群信息
在zoo.cfg中添加如下内容:
增加集群信息 2888用于集群内部通信 3888用于集群的leader选举(leader选举结果为启动节点过半数时myid最大的节点)
server.myid!!!
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
7.关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
8.把zk目录添加到环境变量
vi /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
9.启动zk
zkServer.sh start
10.查看zk状态
zkServer.sh status
11.在另外两台机器执行以上命令
最终查看集群状态
zk1:
zk2:
zk3:
二、安装kakfa
1.下载kakfa压缩包并移动到/usr/local目录
tar -zxvf kafka_2.13-2.4.0.tgz
mv kafka_2.13-2.4.0 kafka
2.创建kafka数据存储目录
cd kafka
mkdir data
3.修改配置文件
cd config
vi server.properties
添加如下配置:
broker.id=0
delete.topic.enable=true
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/local/kafka/data
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
listeners=PLAINTEXT://zk1:9092
4.添加环境变量
vi /etc/profile
添加
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
使配置生效
source /etc/profile
5.修改zk路径为zk存储data的路径
vi zookeeper.properties
/usr/local/zookeeper/data
6.在其余两台机器执行上述命令(broker.id 不得重复)
7.启动broker
三台机器的kafka目录下执行
bin/kafka-server-start.sh -daemon config/server.properties
四、kafka启动完成检查
1.jps
zk和kafka集群已经启动成功
2.登录zk验证
cd /usr/local/zookeeper/bin
zkCli.sh
get /brokers/ids/${broker.id}
可以看到三个kafka的broker均已经注册到zk中