《Hadoop技術(shù)原理》課件-14.消息隊列Kafka_第1頁
《Hadoop技術(shù)原理》課件-14.消息隊列Kafka_第2頁
《Hadoop技術(shù)原理》課件-14.消息隊列Kafka_第3頁
《Hadoop技術(shù)原理》課件-14.消息隊列Kafka_第4頁
《Hadoop技術(shù)原理》課件-14.消息隊列Kafka_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

Hadoop技術(shù)原理消息隊列KafkaKafka簡介01Kafka概述01消息系統(tǒng)消息系統(tǒng)負責將數(shù)據(jù)從一個應用程序傳輸?shù)搅硪粋€應用程序,因此應用程序可以專注于數(shù)據(jù),但不擔心如何共享它。分布式消息傳遞基于可靠消息隊列的概念。消息在客戶端應用程序和消息傳遞系統(tǒng)之間異步排隊。有兩種類型的消息模式可用-一種是點對點,另一種是發(fā)布-訂閱(pub-sub)消息系統(tǒng)。大多數(shù)消息模式遵循pub-sub。點對點消息系統(tǒng)發(fā)布-訂閱消息系統(tǒng)Kafka概述02KafkaApacheKafka是一個分布式發(fā)布-訂閱消息系統(tǒng)和一個強大的隊列,可以處理大量的數(shù)據(jù),并使您能夠?qū)⑾囊粋€端點傳遞到另一個端點。Kafka適合離線和在線消息消費。Kafka消息保留在磁盤上,并在群集內(nèi)復制以防止數(shù)據(jù)丟失。Kafka構(gòu)建在ZooKeeper同步服務之上。它與ApacheStorm和Spark非常好地集成,用于實時流式數(shù)據(jù)分析。Kafka概述03Kafka特點可靠性:Kafka是分布式,分區(qū),復制和容錯的??蓴U展性:Kafka消息傳遞系統(tǒng)輕松縮放,無需停機。耐用性:Kafka使用分布式提交日志,這意味著消息會盡可能快地保留在磁盤上,因此它是持久的。性能:Kafka對于發(fā)布和訂閱消息都具有高吞吐量。即使存儲了許多TB的消息,它也保持穩(wěn)定的性能。Kafka概述04Kafka應用場景指標

-Kafka通常用于操作監(jiān)控數(shù)據(jù)。這涉及聚合來自分布式應用程序的統(tǒng)計信息,以產(chǎn)生操作數(shù)據(jù)的集中饋送。日志聚合解決方案-Kafka可用于跨組織從多個服務收集日志,并使它們以標準格式提供給多個服務器。流處理-流行的框架(如Storm和SparkStreaming)從主題中讀取數(shù)據(jù),對其進行處理,并將處理后的數(shù)據(jù)寫入新主題,供用戶和應用程序使用。Kafka的強耐久性在流處理的上下文中也非常有用。Kafka基礎05Kafka基本概念Kafka基礎06Kafka基本概念message(消息)Kafka的基本數(shù)據(jù)單元被稱為message(消息),為減少網(wǎng)絡開銷,提高效率,多個消息會被放入同一批次(Batch)中后再寫入。Topics(主題)屬于特定類別的消息流稱為主題。數(shù)據(jù)存儲在主題中。主題被拆分成分區(qū)。對于每個主題,Kafka保存一個分區(qū)的數(shù)據(jù)。每個這樣的分區(qū)包含不可變有序序列的消息。分區(qū)被實現(xiàn)為具有相等大小的一組分段文件。Partitions(分區(qū))Kafka的消息通過Topics(主題)進行分類,一個主題可以被分為若干個Partitions(分區(qū)),一個分區(qū)就是一個提交日志(commitlog)。消息以追加的方式寫入分區(qū),然后以先入先出的順序讀取。Kafka通過分區(qū)來實現(xiàn)數(shù)據(jù)的冗余和伸縮性,分區(qū)可以分布在不同的服務器上,這意味著一個Topic可以橫跨多個服務器,以提供比單個服務器更強大的性能。Kafka基礎07Kafka基本概念生產(chǎn)者(Producers)生產(chǎn)者負責創(chuàng)建消息。一般情況下,生產(chǎn)者在把消息均衡地分布到在主題的所有分區(qū)上,而并不關心消息會被寫到哪個分區(qū)。如果我們想要把消息寫到指定的分區(qū),可以通過自定義分區(qū)器來實現(xiàn)。消費者(consumers)消費者是消費者群組的一部分,消費者負責消費消息。消費者可以訂閱一個或者多個主題,并按照消息生成的順序來讀取它們。消費者通過檢查消息的偏移量(offset)來區(qū)分讀取過的消息。偏移量是一個不斷遞增的數(shù)值,在創(chuàng)建消息時,Kafka會把它添加到其中,在給定的分區(qū)里,每個消息的偏移量都是唯一的。消費者把每個分區(qū)最后讀取的偏移量保存在Zookeeper或Kafka上,如果消費者關閉或者重啟,它還可以重新獲取該偏移量,以保證讀取狀態(tài)不會丟失。一個分區(qū)只能被同一個消費者群組里面的一個消費者讀取,但可以被不同消費者群組中所組成的多個消費者共同讀取。多個消費者群組中消費者共同讀取同一個主題時,彼此之間互不影響Kafka基礎08Kafka基本概念Brokers一個獨立的Kafka服務器被稱為Broker。Broker接收來自生產(chǎn)者的消息,為消息設置偏移量,并提交消息到磁盤保存。Broker為消費者提供服務,對讀取分區(qū)的請求做出響應,返回已經(jīng)提交到磁盤的消息。Kafka安裝使用02Kafka集群架構(gòu)01Kafka工作流程02發(fā)布-訂閱消息的工作流程生產(chǎn)者定期向主題發(fā)送消息。Kafka代理存儲為該特定主題配置的分區(qū)中的所有消息。它確保消息在分區(qū)之間平等共享。如果生產(chǎn)者發(fā)送兩個消息并且有兩個分區(qū),Kafka將在第一分區(qū)中存儲一個消息,在第二分區(qū)中存儲第二消息。消費者訂閱特定主題。一旦消費者訂閱主題,Kafka將向消費者提供主題的當前偏移,并且還將偏移保存在Zookeeper系綜中。消費者將定期請求Kafka(如100Ms)新消息。一旦Kafka收到來自生產(chǎn)者的消息,它將這些消息轉(zhuǎn)發(fā)給消費者。消費者將收到消息并進行處理。一旦消息被處理,消費者將向Kafka代理發(fā)送確認。一旦Kafka收到確認,它將偏移更改為新值,并在Zookeeper中更新它。由于偏移在Zookeeper中維護,消費者可以正確地讀取下一封郵件,即使在服務器暴力期間。以上流程將重復,直到消費者停止請求。消費者可以隨時回退/跳到所需的主題偏移量,并閱讀所有后續(xù)消息。Kafka的安裝03安裝步驟集群中已安裝部署jdk、zookeeper下載解壓kafka修改配置文件perties啟動Kafka創(chuàng)建測試主題Kafka的基本使用04創(chuàng)建Kafka的生產(chǎn)和消費查看隊列信息#kafka-topics.sh--zookeepermaster:2181--list創(chuàng)建Topic,分區(qū)數(shù):1副本數(shù):3#kafka-topics.sh--create--zookeepermaster:2181--topicmytopic--partitions1--replication-factor3描述隊列信息#kafka-topics.sh--zookeeperhadoop01:2181--topicmytopic–describe刪除主題Topic#kafka-topics.sh--zookeeperhadoop01:2181--topicmytopic--delete Kafka的基本使用05創(chuàng)建Kafka的生產(chǎn)和消費生產(chǎn)者發(fā)送消息#kafka-console-producer.sh--topicmytopic2--broker-listmaster:9092消費者接受信息#kafka-console-consumer.sh--topicmytopic2--bootstrap-servermaster:9092--from-begin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論