1024程式設計師節 節日快樂

2022-09-03 13:48:18 字數 2467 閱讀 4941

今天繼續學習kafka

kafka命令

1)檢視當前伺服器中的所有topic

[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --list --zookeeper hadoop102:2181

2)建立topic

[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --create --zookeeper hadoop102:2181 –

replication-factor 3 --partitions 1 --topic first

選項說明:

–topic 定義topic名

–replication-factor 定義副本數

–partitions 定義分割槽數

3) 刪除topic

[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --delete --zookeeper hadoop102:2181 --topic

first

需要server.properties中設定delete.topic.enable=true否則只是標記刪除或者直接重啟。

4)傳送訊息

[atguigu@hadoop102 kafka]$ bin/kafka-console-producer.sh --broker-list hadoop102:9092 --topic

first

5)消費訊息

[atguigu@hadoop103 kafka]$ bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 –

from-beginning --topic first

6)檢視某個topic的詳情

[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --topic first --describe --zookeeper

hadoop102:2181

消費者組

hello world

wangan消費者是以consumer group消費者組的方式工作,由乙個或者多個消費者組成乙個組,共同消費乙個

topic。每個分割槽在同一時間只能由group中的乙個消費者讀取,但是多個group可以同時消費這個

partition。在圖中,有乙個由三個消費者組成的group,有乙個消費者讀取主題中的兩個分割槽,另外兩

個分別讀取乙個分割槽。某個消費者讀取某個分割槽,也可以叫做某個消費者是某個分割槽的擁有者。

在這種情況下,消費者可以通過水平擴充套件的方式同時讀取大量的訊息。另外,如果乙個消費者失敗了,

那麼其他的group成員會自動負載均衡讀取之前失敗的消費者讀取的分割槽。

消費方式

consumer採用pull(拉)模式從broker中讀取資料。

push(推)模式很難適應消費速率不同的消費者,因為訊息傳送速率是由broker決定的。它的目標是

盡可能以最快速度傳遞訊息,但是這樣很容易造成consumer來不及處理訊息,典型的表現就是拒絕服

務以及網路擁塞。而pull模式則可以根據consumer的消費能力以適當的速率消費訊息。

對於kafka而言,pull模式更合適,它可簡化broker的設計,consumer可自主控制消費訊息的速率,同

時consumer可以自己控制消費方式——即可批量消費也可逐條消費,同時還能選擇不同的提交方式從

而實現不同的傳輸語義。

消費者組案例

1)需求:測試同乙個消費者組中的消費者,同一時刻只能有乙個消費者消費。

2)案例實操

(1)在hadoop102、hadoop103上修改/opt/module/kafka/config/consumer.properties配置文

件中的group.id屬性為任意組名。

[wangan@hadoop103 config]$ vi consumer.properties

group.id=wangan

(2)在hadoop102、hadoop103上分別啟動消費者

bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 --topic first --consumer.config

config/consumer.properties

bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 --topic first --consumer.config

config/consumer.properties

(3)在hadoop104上啟動生產者

bin/kafka-console-producer.sh --broker-list hadoop102:9092 --topic first >hello world

(4)檢視hadoop102和hadoop103的接收者。

同一時刻只有乙個消費者接收到訊息。

程式設計師節日快樂

節日快樂!今天這個部落格沒有技術內容,因為我最近在找工作,新的技術暫時沒有時間研究了。簡單談談這幾年的工作經歷,第乙份工作是我印象最深刻的一家公司,包括同事,雖然現在離職了,但是挺想念那個公司。然後發現畢業之後很多事情是身不由己的,不是我想怎樣就能怎樣,但是畢業之後我的朋友選擇就可以按照自己的內心,...

祝所有程式設計師1024節日快樂呀

1024對於挨踢男女來說是個重要的數字,今天恰逢10月24日,不發php 了,輕鬆一下,在網上蒐集挑選和改編了幾個笑話,為廣大程式設計師的辛苦 努力和投入點讚。1.某php程式設計師去餐廳吃飯,在選單上寫了 魚香茄子 花生公尺想了想自己可能吃不完,決定不要魚香茄子了,於是選單上變成了 魚香茄子 花生...

程式設計師們節日快樂!你真的懂啥是1024嗎?

今天就是一年一度的1024節了!程式設計師們,1024快樂。public class hello1024 private static void is1024 string date 好吧並沒有這個節,不過這個日子該慶祝啥,相信在座諸位很多人都懂的 當然是慶祝二進位制了!1024是乙個整數嘛。它等於...