解壓
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 ...