這篇文章主要介紹了kafka真實環境如何部署,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創新互聯建站不只是一家網站建設的網絡公司;我們對營銷、技術、服務都有自己獨特見解,公司采取“創意+綜合+營銷”一體化的方式為您提供更專業的服務!我們經歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關注我們的網站建設、做網站質量和服務品質,在得到用戶滿意的同時,也能得到同行業的專業認可,能夠為行業創新發展助力。未來將繼續專注于技術創新,服務升級,滿足企業一站式營銷型網站建設需求,讓再小的高端網站設計也能產生價值!
因為kafka服務端代碼是Scala語言開發的,因此屬于JVM系的大數據框架,目前部署最多的3類操作系統主要由Linux ,OS X 和Windows,但是部署在Linux數量最多,為什么呢?因為I/O模型的使用和數據網絡傳輸效率兩點。
1: 第一:Kafka新版本的Clients在設計底層網絡庫時采用了Java的Select模型,而在Linux實現機制是epoll,感興趣的讀者可以查詢一下epoll和select的區別,明確一點就是:kafka跑在Linux上效率更高,因為epoll取消了輪詢機制,換成了回調機制,當底層連接socket數較多時,可以避免CPU的時間浪費。
2: 第二:網絡傳輸效率上。kafka需要通過網絡和磁盤進行數據傳輸,而大部分操作系統都是通過Java的FileChannel.transferTo方法實現,而Linux操作系統則會調用sendFile系統調用,也即零拷貝(Zero Copy 技術),避免了數據在內核地址空間和用戶程序空間進行重復拷貝。
1: 機械磁盤(HDD)
一般機械磁盤尋道時間是毫秒級的,若有大量隨機I/O,則將會出現指數級的延遲,但是kafka是順序讀寫的,因此對于機械磁盤的性能也是不弱的,所以,基于成本問題可以考慮。
2: 固態硬盤(SSD)
讀寫速度可觀,沒有成本問題可以考慮。
JBOD (Just Bunch Of Disks ) 經濟實惠的方案,對數據安全級別不是非常非常高的情況下可以采用,建議用戶在Broker服務器上設置多個日志路徑,每個路徑掛載在不同磁盤上,可以極大提升并發的日志寫入速度。
3: RAID 磁盤陣列
常見的RAID是RAID10,或者稱為(RAID 1+0) 這種磁盤陣列結合了磁盤鏡像和磁盤帶化技術來保護數據,因為使用了磁盤鏡像技術,使用率只有50%,注意,LinkedIn公司采用的就是RAID作為存儲來提供服務的。那么弊端在什么地方呢?如果Kafka副本數量設置為3,那么實際上數據將存在6倍的冗余數據,利用率實在太低。因此,LinkedIn正在計劃更改方案為JBOD.
我們公司物聯網平臺每天大約能夠產生一億條消息,假設副本replica設置為2 (其實我們設置為3),數據留存時間為1周,平均每條上報事件消息為1K左右,那么每天產生的消息總量為:1億 乘 2 乘 1K 除以 1000 除以 1000 =200G磁盤。預留10%的磁盤空間,為210G。一周大約為1.5T。采用壓縮,平均壓縮比為0.5,整體磁盤容量為0.75T。
關聯因素主要有:
新增消息數
副本數
是否啟用壓縮
消息大小
消息保留時間
kafka對于內存的使用,并不過多依賴JVM 內存,而是更多的依賴操作系統的頁緩存,consumer若命中頁緩存,則不用消耗物理I/O操作。一般情況下,java堆內存的使用屬于朝生夕滅的,很快會被GC,一般情況下,不會超過6G,對于16G內存的機器,文件系統page cache 可以達到10-14GB。
1: 怎么設計page cache,可以設置為單個日志段文件大小,若日志段為10G,那么頁緩存應該至少設計為10G以上。
2: 堆內存最好不要超過6G。
kafka不屬于計算密集型系統,因此CPU核數夠多就可以,而不必追求時鐘頻率,因此核數選擇最好大于8。
帶寬主要有1Gb/s 和10 Gb/s 。我們可以稱為千兆位網絡和萬兆位網絡。舉例如下:
我們的物聯網系統一天每小時都要處理1Tb的數據,我們選擇1Gb/b帶寬,那么需要選擇多少機器呢?
假設網絡帶寬kafka專用,且分配給kafka服務器70%帶寬,那么單臺Borker帶寬就是710Mb/s,但是萬一出現突發流量問題,很容易把網卡打滿,因此在降低1/3,也即240Mb/s。因為1小時處理1TTB數據,每秒需要處理292MB,1MB=8Mb,也就是2336Mb數據,那么一小時處理1TB數據至少需要2336/240=10臺Broker數據。冗余設計,最終可以定為20臺機器。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“kafka真實環境如何部署”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
分享文章:kafka真實環境如何部署
當前URL:http://www.yijiale78.com/article24/gjhece.html
成都網站建設公司_創新互聯,為您提供建站公司、服務器托管、虛擬主機、小程序開發、網站設計、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯