一、安裝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中