Kafka介紹
Kafka已經(jīng)不僅僅是一個(gè)消息系統(tǒng)钓株,它還是一個(gè)存儲(chǔ)系統(tǒng)和流處理平臺(tái)。因?yàn)槠涓呖捎媚敖伤綌U(kuò)展轴合,可持久化,可處理流數(shù)據(jù)而被大數(shù)據(jù)領(lǐng)域廣泛使用碗短。
資源準(zhǔn)備
linux centos7服務(wù)器
最近騰訊云在搞618活動(dòng)
【騰訊云】618云聚惠受葛,百款云產(chǎn)品限量搶購,1核2G云服務(wù)器首年95元
https://cloud.tencent.com/act/cps/redirect?redirect=1059&cps_key=4af64fef8b27cbf2ed77ea881690abbd&from=console
kafka下載
http://kafka.apache.org/downloads
百度網(wǎng)盤下載
鏈接:https://pan.baidu.com/s/1i-PviRc4im4Osa23EPRkqA
提取碼:obr1
zookeeper下載(高版本的kafka安裝包里面已經(jīng)集成了zookeeper偎谁,本文還是采用外部的zookeeper)
https://zookeeper.apache.org/releases.html
百度網(wǎng)盤下載
鏈接:https://pan.baidu.com/s/1mOmiI0UXsPaeOBfv9tYFBg
提取碼:b7zs
Zookeeper配置和啟動(dòng)
把安裝包上傳到opt目錄并解壓
-
tar zxvf kafka_2.12-2.5.0.tgz
-
tar zxvf apache-zookeeper-3.6.1-bin.tar.gz
Zookeeper配置和啟動(dòng)
進(jìn)入zookeeper的conf目錄总滩,將zoo-samples.cfg文件重命名為zoo.cfg:
mv zoo-samples.cfg zoo.cfg編輯zoo.cfg文件:
vi zoo.cfg我就直接貼出我的配置了
# zookeeper服務(wù)器心跳時(shí)間,單位為ms
tickTime=2000
# 投票選舉新leader的初始化時(shí)間
initLimit=10
# leader與follower心跳檢測最大容忍時(shí)間,響應(yīng)超過tickTime * syncLimit, leader認(rèn)為follower死掉, 從服務(wù)器列表中剔除該follower
syncLimit=5
# 數(shù)據(jù)目錄
dataDir=/tmp/zookeeper/data
# 日志目錄
dataLogDir=/tmp/zookeeper/log
# zookeeper對(duì)外服務(wù)端口
clientPort=2181
其中dataDir和dataLogDir分別配置數(shù)據(jù)目錄和日志目錄巡雨,這兩個(gè)目錄需要事先建好
啟動(dòng)zookeeper
./bin/zkServer.sh start-
查看zookeeper狀態(tài)
./bin/zkServer.sh status
Kafka配置和啟動(dòng)
進(jìn)入kafka的config目錄闰渔,編輯server.properties文件
主要需要配置的有:
-
broker.id
如果是集群的話,保證每個(gè)kafka實(shí)例的broker.id唯一
-
listeners
配置kafka對(duì)外提供服務(wù)的地址
-
log.dirs
kafka日志地址铐望,需要先把目錄建好
-
zookeeper.connect
kafka注冊的zookeeper地址
啟動(dòng)kafka
./bin/kafka-server-start.sh -daemon config/server.properties
測試kafka啟動(dòng)沒有
創(chuàng)建一個(gè)topic并制定分區(qū)和副本集
./bin/kafka-topics.sh --zookeeper localhost:2181/kafka --create --topic topic-example --replication-factor 1 --partitions 1
創(chuàng)建消費(fèi)者
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-example
創(chuàng)建生產(chǎn)者
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic-example
測試輸入一些內(nèi)容:
然后查看消費(fèi)者是否有收到消息
ok冈涧,消費(fèi)者也收到消息了!
查看topic詳情
./bin/kafka-topics.sh --zookeeper localhost:2181/kafka --describe --topic topic-example
可以看到很多信息蝌以,比如分區(qū)數(shù),分區(qū)副本數(shù)何之,ISR集合跟畅,是否leader等。溶推。徊件。
參考
https://weread.qq.com/web/reader/e9a32a0071848698e9a39b8k8f132430178f14e45fce0f7
https://www.cnblogs.com/alinainai/p/12951619.html
https://www.cnblogs.com/alinainai/p/12952227.html