Kafka集群部署

2021-09-12 14:02:57 字數 3769 閱讀 4966

前提

在啟動kafaka集群,呼叫 bin/kafka-server-start.sh config/server.properties & 前,需要把每台機器上zookeeper服務都給啟動了。

zookeeper的安裝配置看,

1 kafka集群規劃

s101      s102      s103      s104

zk          zk           zk          zk

kafka     kafka      kafka     kafka

2 kafka集群部署

1)解壓安裝包

tar -zxvf kafka_2.11-0.11.0.0.tgz -c /soft

2)修改解壓後的檔名稱,建立軟鏈結

cd /soft

ln -s kafka_2.11-0.11.0.0 kafka

3)在/soft/kafka目錄下建立logs資料夾

mkdir logs

4)修改配置檔案

cd /soft/kafaka/config/

vim server.properties

檔案內容(紅色字型部分是要修改的部分,黑色字型是檔案預設的內容):

#broker的全域性唯一編號,不能重複

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=/soft/kafka/logs

#topic在當前broker上的分割槽個數

num.partitions=1

#用來恢復和清理data下資料的執行緒數量

num.recovery.threads.per.data.dir=1

#segment檔案保留的最長時間,超時將被刪除

log.retention.hours=168

#配置連線zookeeper集群位址

zookeeper.connect=s101:2181,s102:2181,s103:2181,s104:2181

5)配置環境變數

sudo vim /etc/profile

追加內容

#kafka_home

export kafka_home=/soft/kafka

export path=$path:$kafka_home/bin

退出後source,使環境變數生效

source /etc/profile

6)分發安裝包

cd /soft

scp -r kafka/ centos@s102:/soft

scp -r kafka/ centos@s103:/soft

scp -r kafka/ centos@s104:/soft

注意,分發後,還得配置其他機器的換進變數,看5)

7)分別在s102、s103、s104上修改配置檔案/soft/kafka/config/server.properties中的broker.id=2、broker.id=3、broker.id=4

注:broker.id不能重複

8)啟動集群

依次在s101、s102、s103、s104節點上啟動kafka

[centos@s101 kafka]$ bin/kafka-server-start.sh config/server.properties &

[centos@s102 kafka]$ bin/kafka-server-start.sh config/server.properties &

[centos@s103 kafka]$ bin/kafka-server-start.sh config/server.properties &

[centos@s104 kafka]$ bin/kafka-server-start.sh config/server.properties &

備註:1.在群起kafka伺服器前,先把zookeeper集群給啟動的,具體看開篇的前提提示,否則的話,啟動kafka時,會拋異常日誌

2.server.properties 中的zookeeper機器的埠號是2181,不是zookeep集群配置zoo.cfg中集群配置的埠2888

9)關閉集群

[centos@s101 kafka]$ bin/kafka-server-stop.sh stop

[centos@s102 kafka]$ bin/kafka-server-stop.sh stop

[centos@s103 kafka]$ bin/kafka-server-stop.sh stop

[centos@s104 kafka]$ bin/kafka-server-stop.sh stop

2.3 kafka命令列操作

1)檢視當前伺服器中的所有topic

[centos@s101 kafka]$ bin/kafka-topics.sh --zookeeper s101:2181 --list

2)建立topic

[centos@s101 kafka]$ bin/kafka-topics.sh --zookeeper s101:2181 \

--create --replication-factor 3 --partitions 1 --topic first

選項說明:

--topic 定義topic名

--replication-factor  定義副本數

--partitions  定義分割槽數

備註,登入其他機器也能檢視狀態

3)刪除topic

[centos@s101 kafka]$ bin/kafka-topics.sh --zookeeper s101:2181 \

--delete --topic first

需要server.properties中設定delete.topic.enable=true否則只是標記刪除或者直接重啟。

4)傳送訊息

[centos@s101 kafka]$ bin/kafka-console-producer.sh \

--broker-list s101:9092 --topic first

>hello world

>hi hi

5)消費訊息

[centos@s101 kafka]$ bin/kafka-console-consumer.sh \

--zookeeper s101:2181 --from-beginning --topic first

--from-beginning:會把first主題中以往所有的資料都讀取出來。根據業務場景選擇是否增加該配置。

6)檢視某個topic的詳情

[centos@s101 kafka]$ bin/kafka-topics.sh --zookeeper s101:2181 \

--describe --topic first

Kafka 集群部署

kafka是乙個分布式訊息佇列,需要依賴zookeeper,請先安裝好zk集群 kafka安裝包解壓 tar xf kafka 2.10 0.9.0.1 tgz mv kafka 2.10 0.9.0.1 usr kafka cd usr kafka 配置檔案 server.properties t...

kafka集群部署

一台伺服器上可以啟動多個broker例項,或者將broker部署到多台伺服器上,以下以172.16.50.21集群為例,多台伺服器上部署broker。tar xzf kafka 2.11 1.0.0.tgz cd kafka 2.11 1.0.0kafka依賴zookeeper,如果環境中沒有zoo...

kafka集群部署

前提 kafka集群依賴於zk集群,沒有zk集群環境的請先參考 假設搭建3個節點的kafka集群,下面是步驟 如果只是安裝,直接down kafka 2.12 0.11.0.0.tgz 即可。二 解壓 假設 kafka home為解壓後的根目錄,將tag包解壓到該目錄下 3臺機器上都解壓 三 修改 ...