Kafka集群部署和使用

2021-10-07 09:30:12 字數 3906 閱讀 6056

解壓

tar -zxvf kafka_2.11-0.11.0.0.tgz -c /opt/module/
重新命名:

mv kafka_2.11-0.11.0.0/ kafka
在/opt/module/kafka 目錄下建立 logs 資料夾 

mkdir logs
修改配置檔案

cd config/
vi 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=/opt/module/kafka/logs

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

num.partitions=1

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

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

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

log.retention.hours=168

#配置連線zookeeper集群位址

zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181

配置環境變數 

sudo vi /etc/profile
#kafka_home 

export kafka_home=/opt/module/kafka

export path=$path:$kafka_home/bin

source /etc/profile
分發安裝包:

xsync kafka/
分別在 hadoop103 和 hadoop104 上修改配置檔案/opt/module/kafka/config/server.properties 中的 broker.id=1、broker.id=2 注:broker.id 不得重複 

依次在 hadoop102、hadoop103、hadoop104 節點上啟動 kafka 

依次關閉:

bin/kafka-server-stop.sh stop
如果有以下報錯:

fatal fatal error during kafkaserver startup. prepare to shutdown (kafka.server.kafkaserver)

kafka.common.inconsistentbrokeridexception: configured broker.id 1 doesn't match stored broker.id 3 in meta.properties. if you moved your data, make sure your configured broker.id matches. if you intend to create a new broker, you should remove all data in your data directories (log.dirs).

at kafka.server.kafkaserver.getbrokerid(kafkaserver.scala:688)

at kafka.server.kafkaserver.startup(kafkaserver.scala:194)

at kafka.server.kafkaserverstartable.startup(kafkaserverstartable.scala:39)

at kafka.kafka$.main(kafka.scala:67)

at kafka.kafka.main(kafka.scala)

原因:由於 兩次啟動不同的kafka(版本不同),將broker的資訊存入到相同目錄下,產生錯誤,也有可能是同一版本兩次啟動啟動之間,是記錄資訊的錯誤,集群中,各個節點配置檔案meta.properties 存在相同的broker.id,

解決方法:

把這個log.dirs目錄下檔案全部刪除即可。

rm -rf /opt/module/kafka/logs
1)檢視當前伺服器中的所有 topic

建立 topic

bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions 1 --topic first
選項說明:

--topic 定義 topic 名 --replication-factor 定義副本數 --partitions 定義分割槽數 

刪除 topic

bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first
注:需要 server.properties 中設定 delete.topic.enable=true 否則只是標記刪除或者直接重啟。

傳送訊息 

bin/kafka-console-producer.sh --broker-list hadoop102:9092 --topic first

>hello world

>shuest shuest

消費訊息:

bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 --from-beginning --topic first
--from-beginning:會把 first 主題中以往所有的資料都讀取出來。根據業務場景選擇是否

增加該配置。

檢視某個 topic 的詳情

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集群部署

前提 在啟動kafaka集群,呼叫 bin kafka server start.sh config server.properties 前,需要把每台機器上zookeeper服務都給啟動了。zookeeper的安裝配置看,1 kafka集群規劃 s101 s102 s103 s104 zk zk ...