原创 kafka源碼閱讀--Producer系列(二)異步發送

Kafka producer發送數據的流程(異步發送) 第一步: 刷新元數據 第二步: 序列化、選擇分區、註冊攔截器回調函數 第三步: 往RecordAccmulator發送數據 第四步:判斷batch是否滿了,滿了的話喚醒sen

原创 kafka源碼閱讀--Producer系列(三)發送的順序性如何保證

這部分討論kafka如何保證其發送到partition內的數據是有序的

原创 kafka源碼閱讀--Consumer系列(二)新版本kafka 實現

GroupCoordinator方案設計的緣由 最近在看kafka javaapi源碼的時候發現了一個問題,就是存在一個offsetRequest,offsetFetchRequest,於是比較好奇這兩個有什麼區別,offsetR

原创 Flink學習筆記---API系列 (二)(實時計算)

這部分介紹實時計算Flink的接口

原创 kafka源碼閱讀--kafka connector系列(一) connector公共部分

這部分介紹kafka connector的公共接口

原创 kafka源碼閱讀--kafka connector系列(二)HDFS connector

這部分介紹從kafka 到hdfs上的過程

原创 Kafka分區數據傾斜問題

問題產生背景:某項目 spark streaming消費kafka dragon_browser 在晚高峯期間比較大,qps 大約25K/s,導致消費延遲比較高 分析問題:通過kafka manager發現,某些分區的消費延遲比較大

原创 kafka中zookeeper的作用

zk的作用 給每個broker定時發送心跳,觀察broker的在線或者離線狀態 watch機制結合元數據信息的存儲,保證partiiton的信息可以動態的更新到每個broker上 保證數據一致性,關鍵的元數據信息,以zk上的狀態爲準

原创 kafka各語言客戶端整理

基本前提:kafka TCP層的二進制協議,可參考 https://colobu.com/2017/01/26/A-Guide-To-The-Kafka-Protocol/ 語言 地址 應用場景 特點 Java 官方提供

原创 kafka gc情況在clouder manager 如何查看

緣由:我們的kafka 服務由於是clouderManager 啓動的,所以用戶名是kafka,普通用戶無權限,因此先 which jstat 查找下jstat安裝位置,然後以kafka的身份去執行:sudo -u kafka /us

原创 重啓kafka broker過程比較慢

現象: 重建index比較漫長,每個partition都需要重建,406多個paritition重建了有240多秒 2018-12-11 00:55:08,576 WARN kafka.log.Log: Found an corrup

原创 多線程線程數調優

IO 密集型任務:由於線程並不是一直在運行,所以可以儘可能的多配置線程,比如 CPU 個數 * 2 CPU 密集型任務(大量複雜的運算)應當分配較少的線程,比如 CPU 個數相當的大小。 爲什麼????????