原创 zookeeper源碼解析-單機處理客戶端請求

1.引入 zk單機服務端雖然在實際生產使用中不可能碰到,但是用於接下來分析zk集羣服務端有很大用處,我們秉承循序漸進的方式,先介紹一下單機服務端的啓動和處理流程。 2.單機服務器啓動 在單機啓動過程中,會創建服務端連接對象,用於處

原创 spark源碼解析-worker啓動

spark版本: 2.0.0 1.概念 worker是執行任務的真正服務,它可以管理多個executors,並向master彙報任務的執行情況,現在讓我們看看它的啓動過程。 由於worker啓動過程和master啓動過程有一定

原创 spark源碼解析-分析一次完整的遠程請求過程

spark版本: 2.0.0 1.概念 1.引入 前面已經介紹了master啓動,worker啓動和rpc原理,現在結合這些,來探究一下一次完整的遠程請求到底是咋樣的?就以worker啓動後註冊到master爲例,我們來細細品

原创 zookeeper源碼解析-單機啓動主要流程

zk版本:3.5.6 1. 初始化到啓動過程 根據zkStart.sh腳本可知,QuorumPeerMain.main方法是啓動zk的唯一位置。但是這個啓動zk可以分爲兩種模式:單機模式與集羣模式。由於集羣模式比較複雜,會在後

原创 zookeeper源碼解析-單機啓動

zk版本:3.5.6 根據zkStart.sh腳本可知,QuorumPeerMain.main方法是啓動zk的唯一位置。但是這個啓動zk可以分爲兩種模式:單機模式與集羣模式。由於集羣模式比較複雜,會在後面一一介紹,現在我們先看

原创 zookeeper源碼解析-單機服務端

1.引入 zk單機服務端雖然在實際生產使用中不可能碰到,但是用於接下來分析zk集羣服務端有很大用處,我們秉承循序漸進的方式,先介紹一下單機服務端的啓動和處理流程 2.單機服務器啓動 在單機啓動過程中,會創建服務端連接對象,用於處理

原创 zookeeper源碼解析-命令行解析

zk版本:3.5.6 1.引入 在單機模式下zk服務啓動前面已經介紹了,現在將介紹如何通過客戶端的形式訪問zk服務。其實訪問zk服務有很多方式,可以通過java api等,但是這種方式稍微有點複雜,我們現在通過最簡單的一種方式

原创 zookeeper源碼解析-定時清理zk數據

zk版本:3.5.6 1.引入 在前面介紹單機啓動zk服務時,我們提到過啓動時會創建DatadirCleanupManager對象,用於清理多餘的zk數據,現在我們來看一下它是如何實現的。 2.清理數據 QuorumPeerM

原创 spark源碼解析目錄

spark版本: 2.0.0 1. spark源碼解析-master流程分析 2. spark源碼解析-rpc原理 3. spark源碼解析-worker啓動 4. spark源碼解析-分析一次完整的遠程請求過程 5. spa

原创 zookeeper源碼解析目錄

zookeeper源碼解析-單機啓動 zookeeper源碼解析-定時清理zk數據 zookeeper源碼解析-admin服務 zookeeper源碼解析-客戶端創建流程 zookeeper源碼解析-命令行解析 zookeeper

原创 zookeeper源碼解析-zk集羣啓動

1.引入 在前面我們已經介紹了zk的單機啓動,其過程也是比較簡單,主要是啓動zk服務,zk admin服務,創建管理快照和事務日誌的FileTxnSnapLog對象等。現在我們來說一下zk集羣啓動過程,這也是zk生產環境啓動服務的

原创 zookeeper源碼解析-客戶端創建流程

zk版本:3.5.6 1.引入 前面在介紹命令行解析時,提到創建zk客戶端,現在我們來看看創建zk客戶端要注意什麼。 2. zk客戶端創建 在ZookeeperMain.connectZk方法中會創建zk客戶端,我們就由此左右

原创 zookeeper源碼解析-客戶端請求流程

1.引入 前面介紹了客戶端創建流程,最終調用了ClientCnxn.start方法啓動了兩個重要的線程SendThread和eventThread,這兩個就是客戶端處理請求的關鍵所在,所以在本篇中會逐一介紹這兩個線程的作用。 爲了

原创 guava使用(1)-集合

1. 爲什麼要使用guava Guava是一種基於開源的Java庫,谷歌很多項目使用它的很多核心庫。這個庫是爲了方便編碼,並減少編碼錯誤。這個庫提供用於集合,緩存,支持原語,併發性,常見註解,字符串處理,I/O和驗證的實用方法。

原创 guava使用(2)-字符串操作

前面一篇文章guava使用(1)-集合中,已經簡單介紹了guava中的集合操作,現在將看看它的字符串操作。 1. Joiner //1、將list字符串集合,以,形式轉爲字符串 List<String>