kafka集群搭建

2021-08-28 05:20:25 字數 2370 閱讀 6053

新版本的kafka自帶有zookeeper,其實自帶的zookeeper完全夠用,本篇文章以記錄使用自帶zookeeper搭建kafka集群。

kafka官網:

kafka配置快速入門:quickstart

kafka安裝目錄下的config資料夾為其配置檔案,我們需要修改的有 server.properties和zookeeper.properties。

首先修改kafka的日誌目錄和zookeeper資料目錄,因為這兩項預設放在tmp目錄,而tmp目錄中內容會隨重啟而丟失:

server.properties:

log.dirs=/tmp/kafka-logs

修改為log.dirs=/usr/local/kafka/logs

zookeeper.properties

datadir=/tmp/zookeeper

修改為datadir=/usr/local/zookeeper/data

kafka集群為便於推選leader,一般由奇數臺服務元件集群,這裡以三颱為例,分別已***.***.***.xxa、***.***.***.xxb和***.***.***.xxc代表服務的ip。

(伺服器ip可使用ifconfig命令檢視)

修改server.properties:

1、設定broker.id,保證每個broker唯一,第一台可以不修改預設為0,後面兩台需要修改,如改為1和2

2、設定num.partitions,分割槽數量一般與broker保持一致

3、設定advertised.listeners和listeners,如listeners=plaintext:

4、設定zookeeper.connect,配置三颱服務zookeeper連線位址,如zookeeper.connect=***.***.***.xxa:2181,***.***.***.xxb:2181,***.***.***.xxc:2181

修改zookeeper.properties:

1、設定連線引數,新增如下配置

ticktime=2000

initlimit=10

synclimit=5

2、設定broker id的服務位址

server.0=***.***.***.xxa:2888:3888

server.1=***.***.***.xxb:2888:3888

server.2=***.***.***.xxc:2888:3888

zookeeper資料目錄新增id配置

在各台服務的zookeeper資料目錄新增myid檔案,寫入服務broker.id屬性值,如這裡的目錄是/usr/local/zookeeper/data

第一台broker.id為0的服務到該目錄下執行:echo 0 > myid

kafka啟動時先啟動zookeeper,再啟動kafka;關閉時相反,先關閉kafka,再關閉zookeeper

啟動zookeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties &

啟動kafka:

bin/kafka-server-start.sh config/server.properties &

4.1、在第一台服務上建立test主題

bin/kafka-topics.sh --create --topic test --zookeeper ***.***.***.xxa:2181 --replication-factor 3 --partition 3

4.2、展示主題,確認主題建立成功

bin/kafka-topics.sh --list --zookeeper***.***.***.xxa:2181

4.3、建立生產者

bin/kafka-console-producer.sh --broker-list***.***.***.xxa:9092 --topic test

4.4、建立消費者,再另外兩台服務上分別建立消費者

bin/kafka-console-consumer.sh --zookeeper ***.***.***.xxb:2181 --topic test --from-beginning

bin/kafka-console-consumer.sh --zookeeper ***.***.***.xxc:2181 --topic test --from-beginning

4.5、測試訊息發布與消費

在ip為***.***.***.xxa的服務生產中輸入訊息回車傳送,確認在服務b和c中的消費者是否接收到

如配置完成後需要修改埠或其他配置,但是沒有生效,啟動報錯,可以嘗試清楚kafka(/usr/local/kafka/logs)和zookeeper(/usr/local/zookeeper/data)快取目錄的內容然後重新啟動。

kafka集群搭建

安裝zookeeper kafka自帶了zookeeper,建議還是用外部的zk集群,搭建步驟如下 準備3臺機器,假設我們叫c1 c2 c3,ip分別為ip1 ip2 ip3 將附件zookeeper 3.4.6.tar.gz分別拷貝至3臺機器 c1機器上解壓zookeeper 3.4.6.tar....

kafka 集群搭建

1 前置條件 安裝jdk zookeeper 集群搭建 wget tar xzf kafka 2.11 0.10.2.1.tgz 3 修改 config server.properties 三個地方 1 broker.id 要對上 log.dirs 下 meta.properties broker....

kafka集群搭建

1 上傳安裝包 把安裝包上傳到伺服器 put r d kafka 2.11 0.8.2.0.tgz 2 解壓縮安裝包 3 配置kafka環境變數 vim etc profile export path path kafka home bin 重新整理策略 source etc profile 4 修...