1,選擇三台linux服務器,配置好jdk環境,配置好域名映射
2,下載kafka壓縮包,選擇一台機器上傳到linux /opt目錄下
3,使用 tar -zxvf kafka_2.12-2.4.0.tgz 解壓kafka壓縮包,會得到以下目錄
4,進入 kafka_2.12-2.4.0目錄,創建zookeeper目錄
5,進入config目錄,配置kafka自帶的zookeeper配置文件
tickTime:CS通信心跳數
Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
tickTime以毫秒為單位。
tickTime:該參數用來定義心跳的間隔時間,zookeeper的客戶端和服務端之間也有和web開發里類似的session的概念,而zookeeper里最小的session過期時間就是tickTime的兩倍。
initLimit:LF初始通信時限
集群中的follower服務器(F)與leader服務器(L)之間 初始連接 時能容忍的最多心跳數(tickTime的數量)
syncLimit:LF同步通信時限
集群中的follower服務器(F)與leader服務器(L)之間 請求和應答 之間能容忍的最多心跳數(tickTime的數量)
6,將整個kafka文件夾通過scp命令拷貝到另外兩台機器上
7,進入解壓目錄的zookeeper數據目錄下創建myid文件,分別寫入1,2,3(就單獨寫一個數字就行),不能重復,這是zookeeper集群之間的識別碼
8,進入bin目錄,三台機器分別啟動zookeeper,使用nohup命令后台啟動,日志放在zookeeper.log目錄下
./zookeeper-server-start.sh ../config/zookeeper.properties &>> /opt/kafka_2.12-2.4.0/zookeeper.log
使用jps查看進程,如果有QuorumPeerMain則表示zookeeper啟動成功
9,接下來搭建kafka集群,三台機器同時操作
10,創建kafka日志目錄
11, 進入config目錄編輯 server.properties配置文件
broker.id 分別設置0,1,2,不能重復,host.name 設置本台機器的ip地址
日志目錄設置成剛剛創建的日志目錄
zookeeper地址,集群以逗號隔開
12,設置完成后保存文件並分別啟動三台機器上的kafka
./bin/kafka-server-start.sh –daemon config/server.properties & ,使用jps如果出現下面所示表示啟動成功
13,到此為止,可以使用kafka客戶端連接kafka了。可以看到,顯示三台broker,集群搭建成功