原创 Yarn資源請求處理和資源分配原理解析

目錄 概述 FairScheduler的資源調度原理和代碼 FairScheduler的調度概覽 兩種調度時機-心跳調度和持續調度 開始進行資源調度 判斷這個application是否適合在這個節點上分配資源運行 YARN請求

原创 Yarn FairScheduler 的資源預留機制導致的一次宕機事故分析

概述 線上事故描述、日誌分析和解決方案 事故現象描述 日誌分析 解決方案 Yarn資源預留機制原理解析 資源預留概述 爲滿足預留條件的Container進行資源預留 結束預留,開始運行 總結 概述 我們線上2.7.2版本的Ya

原创 從Presto堆棧講解含有lambda表達式堆棧分析方法

文章目錄關於labmda表達式lambda 表達式帶來編碼上的便利lambda和非lambda表達式在堆棧信息上的差異lambda表達式的debug方式總結 關於labmda表達式 關於lambda表達式,labmda expre

原创 Spark對HiveMetastore客戶端的多版本管理、兼容性探究以及柵欄實現

文章目錄前言詳述對Hive的基本調研對Hive In Spark的兼容性探究的起因升級以後的Spark能否正常工作?通過Shims來增量支持高版本的Hive 的接口變化Spark對Hive版本支持的靈活配置以loadDynamic

原创 Yarn ResourceManager進行主從切換時發生腦裂原因分析

Brain Split 事故 我們使用的Hadoop版本基於Hadoop 2.6.0! ResourceManager同zookeeper通信,發生異常: 2018-10-19 09:17:49,981 INFO org.apache

原创 Hadoop 基於protobuf 的RPC的客戶端實現原理

基於google protobuf的RPC engine,必須在服務器端和客戶端都完成了初始化之後,才能開始通信。在《Hadoop 基於protobuf 的RPC的服務器端實現原理》這篇博文中,我介紹了RPC 的服務器端實現,那麼,客戶端

原创 ZooKeeper的FastLeaderElection算法源碼解析

Zookeeper服務器在啓動的時候會通過一定的選舉算法從多個server中選出leader server,剩下的server則作爲follower.目前實現的選舉算法有FastLeaderElection、AuthFastLeaderE

原创 主流的非關係數據庫的比較

1.MougoDB(Consistency +Partition Tolerance): MougoDB is a distributed document-database that provides anoverall best pe

原创 用Reactor模式構建的Kafka Server網絡層和API層---架構和設計

1.前言 從Yarn RPC Server到Kafka Server,凡是有高併發需求的服務端,無一例外採用了基於了Reactor設計模式。在我的博客《Hadoop RPC Server基於Reactor模式和Java NIO 的架構和原

原创 perl腳本中defined,exists和delete關鍵字的用法和區別

       剛學習perl腳本的時候,喜歡頻繁使用defined關鍵字判斷一個hash中某個key是否存在,後來程序出了問題纔去perl官方文檔查看關於defined關鍵字的準確使用方法。因此,這裏我把perl中幾個關鍵字的用法和區別加

原创 HDFS使用QJM(Quorum Journal Manager)實現的高可用性以及備份機制

目錄 前言 1.NameNode的啓動和對edits和QJM相關配置文件的解析 2.使用FSImage和FSEditLog類對image和edit log文件進行讀寫和管理 3.EditsDoubleBuffer 雙緩存,讓flus

原创 Kafka跨集羣遷移方案MirrorMaker原理、使用以及性能調優實踐

目錄 序言 1. Kafka MirrorMaker基本特性 2. 新舊Consumer API的使用問題 3. 負載不均衡原因診斷以及問題解決 4. 本身網絡帶寬限制問題 5. 適當配置單次poll的消息總量和單次poll()的消息

原创 Yarn FairSheduler使用FairSharePolicy計算Fair Share的規則、原理和代碼實現

目錄 概述 1. Steady Fair Share 原理和計算方式 2. Instantaneous Fair Share 原理和計算方式 總結 概述 想要對Yarn的FairScheduler隊列資源管理、以及搶佔規則有正

原创 Fetcher: KafkaConsumer消息消費的管理者

我們在客戶端使用KafkaConsumer類進行Kafka消息的消費,其實KafkaConsumer是將創建消費請求、接收響應的操作全部交給了Fetcher去處理。我們從KafkaConsumer.poll()方法進入,解析Fetcher

原创 一次實踐:spark查詢hive速度緩慢原因分析並以此看到spark基礎架構

前一段時間數據挖掘組的同學向我返回說自己的一段pyspark代碼執行非常緩慢,而代碼本身非常簡單,就是查詢hive 一個視圖中的數據,而且通過limit 10限制了數據量。 不說別的,先貼我的代碼吧: from pyspark.sql