storm目录结构及在zk中的目录结构
storm目錄結構及在zk中的目錄結構
@(STORM)[storm]
- storm目錄結構及在zk中的目錄結構
- 一storm在磁盤中的內容
- 一nimbus中的目錄結構
- 1inbox目錄
- 2stormdist目錄
- 二supervisor中的目錄結構
- 1supervisor目錄
- 2worker-users目錄
- 3worker目錄
- 一nimbus中的目錄結構
- 二storm在zookeeper中的信息
- 1assignment
- 2storms
- 3supervisor
- 4workerbeats
- 5errors
- 6credentials
一、storm在磁盤中的內容
(一)nimbus中的目錄結構
/home/data/storm/nimbus目錄有2個子目錄
inbox stormdist
1、inbox目錄
2個jar包
ls inbox/ stormjar-32a7ece3-30f6-46b0-a85a-f8a6d7bedd4b.jar stormjar-9d203ae1-55e3-46aa-a503-e0f64dc77850.jar2、stormdist目錄
與supervisro相同,見下面。
(二)supervisor中的目錄結構
/home/data/storm目錄下有3個目錄
supervisor workers workers-users1、supervisor目錄
就是supervisor的一些信息,包括拓撲的jar包等
$ tree . |-- isupervisor | |-- 1448866045210 | `-- 1448866045210.version |-- localstate | |-- 1448867673421 | |-- 1448867673421.version | |-- 1448867676421 | |-- 1448867676421.version | |-- 1448867677289 | |-- 1448867677289.version | |-- 1448867677292 | `-- 1448867677292.version |-- stormdist | |-- ma321-13-1448866092 | | |-- stormcode.ser | | |-- stormconf.ser | | `-- stormjar.jar | `-- test-9-1448861412 | |-- stormcode.ser | |-- stormconf.ser | `-- stormjar.jar `-- tmpstormdist目錄是nimbus分發過來的代碼、配置及jar包。
nimbus的stormdist目錄下也有相同的目錄,內容也一樣。不同之處是nimbus有全部拓撲的內容,而supervisor只有分配到的拓撲的內容。
stormjar.jar是topo的代碼jar包。
stormcode.ser是拓撲的序列化文件,包括拓撲的各個組件的詳細信息與它們之間的關系。
stormconf.ser是topo的配置信息
2、worker-users目錄
worker-users里面有一些空文件,這些文件的名字就是worker的id,如
ls -l workers-users/ total 0 -rw-r--r-- 1 hadoop hadoop 0 11月 30 14:48 917efffc-2ee6-4392-b365-06bc3a846a4c -rw-r--r-- 1 hadoop hadoop 0 11月 30 14:50 fee027e3-a737-4f49-9c85-da5bb4acc43c3、worker目錄
workers里面則是每個worker的一些信息,如心跳與pid的記錄
total 8 drwxr-xr-x 4 hadoop hadoop 4096 11月 30 14:48 917efffc-2ee6-4392-b365-06bc3a846a4c drwxr-xr-x 4 hadoop hadoop 4096 11月 30 14:50 fee027e3-a737-4f49-9c85-da5bb4acc43c注意這些是目錄,這些目錄下的內容如下:
ls 917efffc-2ee6-4392-b365-06bc3a846a4c/ heartbeats pids因此,當在worker目錄定位到一個worker,但想要啟動這個worker,卻在supervisor目錄中找不到對應的內容,因此啟動失敗。
二、storm在zookeeper中的信息
有一些解釋,但版本較老:http://xumingming.sinaapp.com/466/twitter-storm-code-analysis-zookeeper-dirs/
storm在zookeeper中有以下6個目錄(默認在/storm下)
/assignments -> 任務分配信息 /storms -> 正在運行的topology的ID /supervisors -> 所有的Supervisors的心跳信息 /workerbeats -> 所有的Worker的心跳 /errors -> 產生的出錯信息 /credentials ->認證信息1、assignment
任務的分配信息,supervisor會不斷的讀取這里的信息,看有沒有被分配的任務需要處理。
2、storms
正在運行的拓撲id
3、supervisor
所有的Supervisors的心跳信息
4、workerbeats
每個worker的心跳信息
5、errors
錯誤信息, UI即通過在這里讀取信息來顯示
6、credentials
認證信息
總結
以上是生活随笔為你收集整理的storm目录结构及在zk中的目录结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 马尔可夫链算法原理与实现
- 下一篇: 【源码分析】storm拓扑运行全流程源码