Kafka介紹
Kafka已經不僅僅是一個消息系統,它還是一個存儲系統和流處理平臺。因為其高可用,可水平擴展,可持久化,可處理流數據而被大數據領域廣泛使用。
資源準備
linux centos7服務器
最近騰訊云在搞618活動
【騰訊云】618云聚惠,百款云產品限量搶購,1核2G云服務器首年95元
https://cloud.tencent.com/act/cps/redirect?redirect=1059&cps_key=4af64fef8b27cbf2ed77ea881690abbd&from=console
kafka下載
http://kafka.apache.org/downloads
百度網盤下載
鏈接:https://pan.baidu.com/s/1i-PviRc4im4Osa23EPRkqA
提取碼:obr1
zookeeper下載(高版本的kafka安裝包里面已經集成了zookeeper,本文還是采用外部的zookeeper)
https://zookeeper.apache.org/releases.html
百度網盤下載
鏈接:https://pan.baidu.com/s/1mOmiI0UXsPaeOBfv9tYFBg
提取碼:b7zs
Zookeeper配置和啟動
把安裝包上傳到opt目錄并解壓
-
tar zxvf kafka_2.12-2.5.0.tgz
image.png -
tar zxvf apache-zookeeper-3.6.1-bin.tar.gz
image.png
Zookeeper配置和啟動
進入zookeeper的conf目錄,將zoo-samples.cfg文件重命名為zoo.cfg:
mv zoo-samples.cfg zoo.cfg編輯zoo.cfg文件:
vi zoo.cfg我就直接貼出我的配置了
# zookeeper服務器心跳時間,單位為ms
tickTime=2000
# 投票選舉新leader的初始化時間
initLimit=10
# leader與follower心跳檢測最大容忍時間,響應超過tickTime * syncLimit, leader認為follower死掉, 從服務器列表中剔除該follower
syncLimit=5
# 數據目錄
dataDir=/tmp/zookeeper/data
# 日志目錄
dataLogDir=/tmp/zookeeper/log
# zookeeper對外服務端口
clientPort=2181
其中dataDir和dataLogDir分別配置數據目錄和日志目錄,這兩個目錄需要事先建好
啟動zookeeper
./bin/zkServer.sh start-
查看zookeeper狀態
./bin/zkServer.sh status
image.png
Kafka配置和啟動
進入kafka的config目錄,編輯server.properties文件
主要需要配置的有:
-
broker.id
image.png
如果是集群的話,保證每個kafka實例的broker.id唯一
-
listeners
image.png
配置kafka對外提供服務的地址
-
log.dirs
image.png
kafka日志地址,需要先把目錄建好
-
zookeeper.connect
image.png
kafka注冊的zookeeper地址
啟動kafka
./bin/kafka-server-start.sh -daemon config/server.properties
測試kafka啟動沒有
創建一個topic并制定分區和副本集
./bin/kafka-topics.sh --zookeeper localhost:2181/kafka --create --topic topic-example --replication-factor 1 --partitions 1
創建消費者
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-example
創建生產者
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic-example
測試輸入一些內容:
然后查看消費者是否有收到消息
ok,消費者也收到消息了!
查看topic詳情
./bin/kafka-topics.sh --zookeeper localhost:2181/kafka --describe --topic topic-example
可以看到很多信息,比如分區數,分區副本數,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