Kafka合集 四 Kafka分布式集群部署

2021-10-04 17:50:04 字數 3651 閱讀 9347

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,而任意位置寫 ...