Kafka是由Apache軟體基金會開發的一個開源流處理平臺,是一種高吞吐量的分布式發布訂閱訊息系統,它可以處理消費者在網站中的所有動作流資料,
特性:
(1)通過O(1)的磁盤資料結構提供訊息的持久化,這種結構對于即使數以TB的訊息存盤也能夠保持長時間的穩定性能,
(2)高吞吐量:即使是非常普通的硬體Kafka也可以支持每秒數百萬的訊息,
(3)支持通過Kafka服務器和消費機集群來磁區訊息,
(4)支持Hadoop并行資料加載,
相關術語:
(1)Broker
Kafka集群包含一個或多個服務器,這種服務器被稱為broker,
(2)Topic
每條發布到Kafka集群的訊息都有一個類別,這個類別被稱為Topic,(物理上不同Topic的訊息分開存盤,邏輯上一個Topic的訊息雖然保存于一個或多個broker上但用戶只需指定訊息的Topic即可生產或消費資料而不必關心資料存于何處)
(3)Partition
Partition是物理上的概念,每個Topic包含一個或多個Partition.
(4)Producer
負責發布訊息到Kafka broker
(5)Consumer
訊息消費者,向Kafka broker讀取訊息的客戶端,
(6)Consumer Group
每個Consumer屬于一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬于默認的group),
官網:http://kafka.apache.org/
中文檔案:http://kafka.apachecn.org/
一、下載
下載地址:http://kafka.apache.org/quickstart

點擊Download打開https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.12-2.3.0.tgz
再點擊http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz下載

下載后解壓,本人解壓在D:\ProgramFiles\Java\kafka_2.12-2.3.0
備注:最新版的Kafka已經內置zookeeper,不需要另外下載zookeeper,
二、啟動服務器
Kafka 使用 ZooKeeper,需要先啟動一個ZooKeeper服務器, 可以通過與kafka打包在一起的便捷腳本來快速簡單地創建一個單節點ZooKeeper實體,
打開命令列視窗,cd進入解壓目錄,執行命令
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
執行成功會占用2182埠,命令列視窗不關閉,

啟動Kafka服務器
打開命令列視窗,cd進入解壓目錄,執行命令
bin\windows\kafka-server-start.bat config\server.properties
執行成功會占用9092埠,命令列視窗也不關閉,
三、創建一個 topic
打開命令列視窗,cd進入解壓目錄,執行下面命令,創建一個名為“test”的topic,它有一個磁區和一個副本:
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
可以運行list(串列)命令來查看這個topic:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

備注:如果要洗掉服務器上的Topic,可執行下面命令
bin\windows\kafka-topics.bat --delete --zookeeper localhost:2181 --topic test
這個命令只是將Topic標記為洗掉,如果想真正洗掉,需要修改config/server.properties檔案,加入下面配置
delete.topic.enable=true
四、啟動生產者
Kafka自帶一個命令列客戶端,它從檔案或標準輸入中獲取輸入,并將其作為message(訊息)發送到Kafka集群,默認情況下,每行將作為單獨的message發送,
打開命令列視窗,cd進入解壓目錄,執行下面命令,運行 producer,然后在控制臺輸入一些訊息以發送到服務器,
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
五、啟動消費者
打開命令列視窗,cd進入解壓目錄,執行下面命令,
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
會收到生產者發送的訊息,在生產者命令列視窗繼續輸入訊息,這里會收到訊息,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/106056.html
標籤:其他
上一篇:一文解讀云原生 (轉)
下一篇:搭建Redis三主三從集群
