10.255.175.240(clickhouse1) – zookeeper kafka
10.255.175.241(clickhouse2) – zookeeper kafka
10.255.175.242(clickhouse3) – zookeeper kafka
安裝zookeeper集群 (見 zookeeper系列文章)
官網 : kafka.apache.org
版本 : kafka_2.11-0.11.0.0.tar # 版本號的2.11是scala版本 ; 0.11是kafka版本
$ mkdir /opt/software
用lrzsz命令上傳
$ tar -xvf kafka_2.11-0.11.0.0.tar -c /opt/software/
改名(不改也行)
$ mv kafka_2.11-0.11.0.0 kafka_011
server.properties
在/opt/software/kafka_011/config/下
和server.properties並列的 還有個自帶的zk的配置zookeeper.properties 不用它 不修改
$ cd /opt/software/kafka_011/config
$ vi server.properties
必須配置項
broker.id=0 # 配置項:broker的全域性唯一編號 ; 值:自定義的唯一整數(每個節點都要改)
delete.topic.enbale=true # 配置項:執行刪除操作直接刪除topic ; 值:預設false(執行刪除操作僅標記上)
log.dirs=/opt/software/kafka_011/logs # 配置項:暫存資料目錄 ; 值:自定義目錄並手動建立 ; 作用:暫存資料和日誌 會都存這裡(kafka中資料和日誌名都叫xx.log)
zookeeper.connect=10.255.175.240:2181,10.255.175.241:2181,10.255.175.242:2181 # 配置項:zookeeper集群
建立暫存資料目錄
$ cd /opt/software/kafka_011/
$ mkdir logs
$ cd logs/
$ pwd # 結果 : /opt/software/kafka_011/logs
高頻配置項(可選)
listteners=plaintext://:9092 # 配置項:服務埠 ; 值:預設9092
log.retention.hours=168 # 配置項:資料儲存時間(segment檔案保留時間) ; 值:預設168h(7day) ; 單位:h
log.segment.bytes=1073741824 # 配置項:.log檔案最大尺寸 ; 值:預設1g
低頻配置項(可選)
num.network.threads=3 # 配置項:處理網路請求的執行緒數量
num.io.threads=8 # 配置項:處理磁碟io的執行緒數量
socket.send.buffer.bytes=102400 # 配置項:傳送套接字的緩衝期大小
socket.receive.buffer.bytes=102400 # 配置項:接收套接字的緩衝區大小
socket.request.max.bytes=104857600 # 配置項:請求套接字的緩衝區大小
num.partitions=1 # 配置項:topic在當前broker上的分割槽個數
num.recovery.threads.per.data.dir=1 # 配置項:用來恢復和清理data下資料的執行緒數
$ sudo vi /etc/profile
在檔案的最後新增:
# kafka_home
export kafka_home=/opt/software/kafka_011
export path=$path:$kafka_home/bin
過載配置檔案
$ source /etc/profile
$ xsync /opt/software/kafka_011/
給其他節點配置環境變數(同上)
修改其他節點的server.properties配置檔案的broker.id # 每個節點的broker.id必須是全域性唯一整數
啟動zk
$ zk.sh start
啟動kafka
方式一 手動啟動
每個節點都啟動
在任意目錄下執行:
$ kafka-server-start.sh -daemon /opt/software/kafka_011/config/server.properties # -deamon : 以守護程序形式啟動 不然啟動後終端視窗是阻塞的 一直閃爍
測試每個節點是否啟動
$ jps # 結果 : kafka
方式二 一鍵啟動
編寫kafka一鍵停起服務指令碼
$ cd /opt/software/kafka_011/bin
$ vi kafka-server.sh
內容如下:
#!/bin/bash
case $1 in
"start");;
"stop");;
esac
給檔案增加執行許可權
$ chmod 777 kafka-server.sh
一鍵啟動服務
$ cd /opt/software/kafka_011/bin
$ kafka-server.sh start
測試每個節點是否啟動
$ jsp # 結果 : kafka
停止kafka
方式一 手動停止
$ kafka-server-stop.sh
方式二 一鍵停止
$ cd /opt/software/kafka_011/bin
$ kafka-server.sh stop
測試每個節點是否停止
$ jsp # 結果 : kafka
停止zk$ zk.sh stop
啟動停止服務出現問題檢視日誌/opt/software/kafka_011/logs/server.log
kafka學習 四 kafka集群部署
1 broker.id 1 保證每個broker唯一,第一台可以不修改預設為0,後面兩台需要修改,如改為2和3 2 num.partitions 3 分割槽數量一般與broker保持一致 3 listeners plaintext 192.168 172 129 9092 修改為本機ip 4 zoo...
Kafka學習(四) Kafka架構詳解
1 生產者 api 2 消費者 api 說明 kafka訊息保留在磁碟上,並在集群內複製以防止資料丟失 不能提高資料的讀取效率 consumer group 每乙個consumer屬於乙個特定的consumer group 可以為每個consumer指定 groupname broker kafka...
Kafka學習 四 Kafka持久化
概述 kafka很大程度上依賴檔案系統來儲存和快取訊息。有一普遍的認識 磁碟很慢。這讓人們懷疑使用磁碟作為持久化的效能。實際上,磁碟是快還是慢完全取決於我們是如何使用它。就目前來說,乙個 six 7200rpm sata raid 5磁碟線性 順序 寫入的效能能達到600mb sec,而任意位置寫 ...