【流式計算】Twitter Storm原始碼分析之Nimbus/Supervisor本地目錄結構
我們知道,storm叢集裡面工作機器分為兩種一種是nimbus, 一種是supervisor, 他們通過zookeeper來進行互動,nimbus通過zookeeper來發布一些指令,supervisor去讀zookeeper來執行這些指令,具體nimbus和supervisor在zookeeper上交換了哪些資訊可以看一下這篇文章:
Twitter Storm原始碼分析之ZooKeeper中的目錄結構。知道了他們在zookeeper存的資訊之後,大家一定想知道nimbus和zookeeper在自己本機存了什麼資訊呢?這篇文章給你介紹。程式碼主要包括config.clj,
nimbus.clj
注意:下面目錄結構裡面, nimbus機器上面只有/nimbus目錄,supervisor機器上面只有/supervisor目錄和/workers目錄。
幫助01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
/{storm-local-dir}
|
|-/nimbus
| |
| |-/inbox -- 從nimbus客戶端上傳的jar包
| | | 會在這個目錄裡面
| | |
| | |-/stormjar-{uuid}.jar -- 上傳的jar包其中{uuid}表示
| | 生成的一個uuid
| |
| |-/stormdist
| |
| |-/{topology-id}
| | | |-/stormjar.jar -- 包含這個topology所有程式碼
| | 的jar包(從nimbus/inbox裡
| | 面挪過來的)
| |
| |-/stormcode.ser -- 這個topology物件的序列化
| |
| |-/stormconf.ser -- 執行這個topology的配置
|
|-/supervisor
| |
| |-/stormdist
| | |
| | |-/{topology-id}
| | |
| | |-/resources -- 這裡儲存的是topology的
| | | jar包裡面的resources目錄
| | | 下面的所有檔案
| | |
| | |-/stormjar.jar -- 從nimbus機器上下載來的
| | | topology的jar包
| | |
| | |-/stormcode.ser -- 從nimbus機器上下載來的
| | | 這個topology物件的序列
| | | 化形式
| | |
| | |-/stormconf.ser -- 從nimbus機器上下載來的
| | 執行這個topology的配置
| |
| |-/localstate -- supervisor的localstate
| |
| |-/tmp -- 臨時目錄,從Nimbus上下
| | 載的檔案會先存在這個目
| | 錄裡面,然後做一些簡單
| | 處理再copy到
| | stormdist/{topology-id}
| | 裡面去
| |-/{uuid}
| |
| |-/stormjar.jar -- 從Nimbus上面download下
| 來的工作jar包
|
|-/workers
|
|-/{worker-id}
|
|-/pids -- 一個worker可能會起多個子
| | 程序所以可能會有多個pid
| |
| |-/{pid} -- 執行這個worker的JVM的pid
|
|-/heartbeats -- 這個supervisor機器上的
| worker的心跳資訊
|
|-/{worker-id} -- 這裡面存的是一個worker
的心跳:主要包括心跳時
間和worker的id
|
相關推薦
【流式計算】Twitter Storm原始碼分析之Nimbus/Supervisor本地目錄結構
我們知道,storm叢集裡面工作機器分為兩種一種是nimbus, 一種是supervisor, 他們通過zookeeper來進行互動,nimbus通過zookeeper來發布一些指令,supervisor去讀zookeeper來執行這些指令,具體nimbus和supe
【流式計算】Twitter Storm原始碼分析之ZooKeeper中的目錄結構
作者: xumingming | 可以轉載, 但必須以超連結形式標明文章原始出處和作者資訊及版權宣告 我們知道Twitter Storm的所有的狀態資訊都是儲存在Zookeeper裡面,nimbus通過在zookeeper上面寫狀態資訊來分配任務,supervisor
Twitter Storm原始碼分析之Topology的執行過程
如何提交一個topology? 要提交一個topology給storm的話, 我們在命令列裡面是這麼做的: 幫助 1 storm jar allmycode.jar org.me.MyTopology a
【輸出文件】 Android MountService 原始碼分析
Android 儲存裝置管理框架 在android之VOLD程序啟動原始碼分析一文中介紹了儲存裝置的管控中心Vold程序,Vold屬於native後臺程序,通過netlink方式接收kernel的uevent訊息,並通過socket方式將uevent訊息傳送給MountService,同時實時接
【kubernetes/k8s概念】CNI macvlan原始碼分析
macvlan原理 在linux命令列執行 lsmod | grep macvlan 檢視當前核心是否載入了該driver;如果沒有檢視到,可以通過 modprobe macvlan 來載入 &n
【JUC】JDK1.8原始碼分析之CountDownLatch
轉自 https://www.cnblogs.com/leesf456/p/5406191.html 一、前言 分析完了CyclicBarrier後,下面分析CountDownLatch,CountDownLatch用於同步一個或多個任務,強制他們等待由其他任務執行的一組操作完成。C
ArrayList集合(JDK1.8) 【集合框架】JDK1.8原始碼分析之ArrayList(六)
簡述 List是繼承於Collection介面,除了Collection通用的方法以外,擴充套件了部分只屬於List的方法。 常用子類 ?ArrayList介紹 1.資料結構 其底層的資料結構是陣列,陣列元素型別為Object型別,即可以存放所
【JUC】JDK1.8原始碼分析之CountDownLatc
一、前言 分析完了CyclicBarrier後,下面分析CountDownLatch,CountDownLatch用於同步一個或多個任務,強制他們等待由其他任務執行的一組操作完成。CountDownLatch典型的用法是將一個程式分為n個互相獨立的可解決任務,
storm原始碼分析之acker工作流程
我們知道storm一個很重要的特性是它能夠保證你發出的每條訊息都會被完整處理,完整處理的意思是指: 一個tuple以及這個tuple所導致的所有的tuple都會被成功處理。而一個tuple會被認為處理失敗瞭如果這個訊息在timeout所指定的時間內沒有成功處理。 也就是說對
雲客Drupal8原始碼分析之內容實體資料庫表結構及表對映table mapping
“欄位”概念 在drupal中提到“欄位”這個概念時,請不要理解為資料庫中表的一個列,這不是一個概念,它是指一個欄位物件,充當著實體物件的屬性,也是一個列表型別的型別化資料物件,當本系列提到“欄位field”一般均是指欄位物件或欄位定義物件,而資料庫表中的欄位列,則將其稱為
【線上直播】Flink—新一代流式計算框架
分享講師:黃躍峰
storm 流式計算框架
大數據 storm 流式計算 一:storm 簡介 二:storm 的原理與架構 三:storm 的 安裝配置 四:storm 的啟動腳本 一: storm 的簡介: 1.1 storm 是什麽: 1. Storm是Twitter開源的分布式實時大數據處理框架,被業界稱為實時版Hadoo
Storm簡介——實時流式計算介紹
大數據 bsp 要求 角度 size 計算 spa 流量 使用場景 概念 實時流式計算: 大數據環境下,流式數據將作為一種新型的數據類型,這種數據具有連續性、無限性和瞬時性。是實時數據處理所面向的數據類型,對這種流式數據的實時計算就是實時流式計算。 特
hadoop(十三)storm流式計算(實時處理)
storm介紹 說明+安裝文件 Storm是一個開源的分散式實時計算系統,可以簡單、可靠的處理大量的資料流。被稱作“實時的hadoop”。Storm有很多使用
大資料學習:storm流式計算
Storm是一個分散式的、高容錯的實時計算系統。Storm適用的場景: 1、Storm可以用來用來處理源源不斷的訊息,並將處理之後的結果儲存到持久化介質中。 2、由於Storm的處理元件都是分散式的,而且處理延遲都極低,所以可以Storm可以做為
流式計算--storm1(storm概念初識)
1.Storm是什麼? Storm用來實時處理資料,特點:低延遲、高可用、分散式、可擴充套件、資料不丟失。提供簡單容易理解的介面,便於開發。 2.Storm與Hadoop的區別? Storm用於實時計算,Hadoop用於離線計算。 Storm處理的資料儲存在
流式計算--storm3(Storm單詞技術案例)
功能說明:設計一個topology,來實現對文件裡面的單詞出現的頻率進行統計。本篇部落格是在storm概念講解和storm叢集搭建的基礎上來的 1.建立一個maven專案: 新增以來如下: <dependency>
流式計算--整合kafka+flume+storm
1.資料流向 日誌系統=>flume=>kafka=>storm 2.安裝flume 1.我們在storm01上安裝flume1.6.0,上傳安裝包 2.解壓到 /export/servers/flume,
分散式流式計算框架 Storm
場景 伴隨著資訊科技日新月異的發展,資訊呈現出爆發式的膨脹,人們獲取資訊的途徑也更加多樣、更加便捷,同時對於資訊的時效性要求也越來越高。舉個搜尋場景中的例子,當一個賣家釋出了一條寶貝資訊時,他希望的當然是這個寶貝馬上就可以被賣家搜尋出來、點選、購買啦,相反,如果這個寶貝要
流式計算storm應用場景簡介
(1) storm是一個程序常駐記憶體的、分散式的,對資料實時流式處理框架,不同於MR的批處理和spark streaming的微批處理,storm實現了對資料處理的毫秒級延遲。它的資料來源被稱為SPOUT,資料處理流程被稱為BOLT (2)storm一般應用於對資料的處