安裝環境
集群規劃
伺服器lnh01
伺服器lnh02
伺服器lnh03
zookeeper
zookeeper
zookeeper
kafka
kafka
kafka
安裝步驟
上傳壓縮包到伺服器
解壓至/opt/soft下
命令:tar -zxvf kafka_2.12-2.4.1.tgz -c /opt/soft/
重新命名為kafka
目錄結構如下:
在/opt/soft/kafka下建立datalogs目錄
修改配置檔案kafka_home/config/server.properties
#broker的全域性唯一編號,和zookeeper的myid一樣,保持唯一
broker.id=
0#能夠刪除topic
delete.topic.enable=
true
#處理網路請求的執行緒數量
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執行日誌存放的路徑
log.dirs=
/opt/soft/kafka/datalogs
#topic在當前broker上的分割槽個數
num.partitions=
1#用來恢復和清理data下資料的執行緒數量
num.recovery.threads.per.data.dir=
1#segment檔案保留的最長時間,超時將被刪除
log.retention.hours=
168#配置連線zookeeper集群位址
zookeeper.connect=lnh01:
2181
,lnh02:
2181
,lnh03:
2181
配置環境變數
單台kafka配置完成,將解壓包分發到另外兩台機器
scp -r kafka/ root@lnh02:/opt/soft/
scp -r kafka/ root@lnh03:/opt/soft/
修改對應的server.properties檔案
把檔案中的broker.id分別替換為1和2
配置kafka_home
修改 /etc/profile,追加kafka_home到全域性path中
# kafka
export kafka_home=
/opt/soft/kafka
export path=$path:$kafka_home/bin
記得source哦。 source /etc/profile
啟動集群
[root@lnh01 kafka]# ./bin/kafka-server-start.sh config/server.properties &
[root@lnh02 kafka]# ./bin/kafka-server-start.sh config/server.properties &
[root@lnh03 kafka]# ./bin/kafka-server-start.sh config/server.properties &
關閉集群
[root@lnh01 kafka]# ./bin/kafka-server-stop.sh stop
[root@lnh02 kafka]# ./bin/kafka-server-stop.sh stop
[root@lnh03 kafka]# ./bin/kafka-server-stop.sh stop
測試建立topic
bin/kafka-topics.sh --zookeeper lnh01:
2181 \
--create --replication-factor 3
--partitions 1
--topic first
列取所有topic
bin/kafka-topics.sh --zookeeper lnh01:
2181
--list
群起kafka指令碼
#!
/bin/bash
case $1 in
"start");
;"stop");
;esac
centos7搭建kafka集群
7.關閉防火牆 systemctl stop firewalld.service 停止firewall systemctl disable firewalld.service 禁止firewall開機啟動 firewall cmd state 檢視預設防火牆狀態 關閉後顯示notrunning,開啟...
centos7 搭建kafka集群筆記
安裝kafka cd soft tar zxvf kafka 2.11 1.0.0.tgz c usr local mv usr local kafka 2.11 1.0.0 usr local kafka 2.11 環境變數 echo export kafka home usr local kaf...
Centos7下kafka集群搭建
1.kafka以topic來進行訊息管理,每個topic包含多個partition,每個partition對應乙個邏輯log,有多個segment組成。2.每個segment中儲存多條訊息 見下圖 訊息id由其邏輯位置決定,即從訊息id可直接定位到訊息的儲存位置,避免id到位置的額外對映。3.每個p...