學習kafka筆記

2022-01-14 00:00:22 字數 1837 閱讀 8656

一:概念

kafka是乙個分布式的訊息佇列,相當於我們生活中的快遞櫃,快遞點,快遞員將快遞放到快遞櫃中,收件人去取,把快遞(訊息)的入櫃(入隊)和處理進行解耦,使得雙方以自己合適的時間和頻率處理快遞,此外快遞櫃也起著削峰填谷的作用,雙十一,一車快遞進入乙個快遞點,收件一時間無法領取掉自己的快遞,可以暫存到快遞點,收件人有時間在去取。

kafka對訊息儲存時根據topic進行歸類,傳送訊息者稱為producer,訊息接受者稱為consumer,此外kafka集群有多個kafka例項組成,每個例項(server)稱為broker。

其他知識點可檢視

部落格kafka有趣的介紹:

使用kafka自帶的zookeeper集群啟動

tar zxvf kafka_2.11-2.2.1.tgz -c /opt/kafka

(2)啟動自帶的zookeeper(2181埠)

cd /opt/kafka/kafka_2.11-2.2.1/

bin/zookeeper-server-start.sh config/zookeeper.properties  

(3)啟動kafka(9092埠)

bin/kafka-server-start.sh -daemon  config/server.properties   (-daemon表示守護程序)

lsof -i :9092   (列出9092埠是否在使用)

(4)建立topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 2 --replication-factor 3 --topic first

其中:--partitions 2 //建立2個分割槽

--replications-factor 3 //副本數,leader在副本中

--topic //主題為first

檢視topic列表

bin/kafka-topics.sh --list --zookeeper localhost:2181 first

檢視topic詳情描述

bin/kafka-topics.sh --zookeeper localhost:2181 --describe topic first

(5)建立生產者

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

(6)  建立消費者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning   (--from-beginning表示從開始topic起點開始消費)

注:舊版本中--bootstrap-server是 --zookeeper (消費者的offset之前的版本存放在zookeeper中,新版本offset存放在broker集群的topic中)

刪除topic

bin/kafka-topics.sh --delete --zookeeper localhost:2181  --topic first

停止kafka

bin/kafka-server-stop.sh stop

啟動指定配置檔案的消費者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning --consumer.config config/consumer.properties

學習筆記 Kafka

kafka kafka把資料往磁碟上寫,但是在磁碟上存它的讀寫速度比記憶體快,這個依賴於預讀和後寫功能,但是這個預讀和後寫必須是按照順序的方式,若沒有順序的方式優化的話,不存在什麼預讀和後寫。特點 訊息持久化 能落到磁碟 通過o 1 的磁碟資料結構提供資料的持久化 高吞吐量 分布式 擴充套件能力強 ...

Kafka學習筆記

1.1簡介 apache kafka 是分布式發布 訂閱訊息系統 訊息中介軟體 它最初由 linkedin 公司開發,之後成為 apache 專案的一部分。kafka 是一種快速 可擴充套件的 設計內在就是分布式的,分割槽的和可複製的提交日誌服務。apache kafka 與傳統訊息系統相比,有以下...

kafka學習筆記

1.1 kafka的特性 controller在zookeeper註冊watch zookeeper管理kakfabroker集群。所有的kafkabroker節點一起去zookeeper上註冊乙個臨時節點,只有乙個能成功,成功註冊的節點稱之為 kafkabrokercontroller,其餘的稱之...