storm目录结构及在zk中的目录结构

本文介绍了 Storm 分布式计算系统的目录结构,包括 Nimbus 和 Supervisor 的磁盘目录结构,以及 Storm 在 ZooKeeper 中的关键目录结构。涵盖了任务分配、心跳监测、错误记录等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

storm目录结构及在zk中的目录结构

@(STORM)[storm]

一、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.jar

2、stormdist目录

与supervisro相同,见下面。

(二)supervisor中的目录结构

/home/data/storm目录下有3个目录

supervisor  workers  workers-users

1、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
`-- tmp

stormdist目录是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-da5bb4acc43c

3、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

认证信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值