Storm Zookeeper

本文记录了storm 1.1.0 在zookeeper中保存的信息。
下面的图是在[4]的基础上进行修改的。

/-storm                     -- storm在zookeeper上的根目录
  |
  |-/assignments            -- topology的任务分配信息
  |   |
  |   |-/{topology-id}      -- 这个下面保存的是每个
  |                            topology的assignments
  |                            信息包括: 对应的
  |                            nimbus上的代码目录,所有
  |                            task的启动时间,
  |                            每个task与机器、端口的映射
  |
  |-/backpressure           -- 这个目录保存需要限流的topology-id
  |   |                        [1]
  |   |-/{topology-id}
  |   |
  |-/blobstore              -- 保存大型文件的key,
  |   |                        以及topology的配置[2]
  |   |-/{key-id}
  |
  |-/blobstoremaxkeysequencenumber          
  |   |                     -- 这个里面保存了大型文件的
  |   |                        key的最大[2],但是发现
  |   |                        和blobstore的内容一样
  |   |
  |-/storms                 -- 这个目录保存所有正在运行
  |   |                        的topology的id
  |   |
  |   |-/{topology-id}      -- 这个文件保存这个topology
  |                            的一些信息,包括topology的
  |                            名字,topology开始运行的时
  |                            间以及这个topology的状态
  |                            (具体看StormBase类)
  |
  |-/supervisors            -- 这个目录保存所有的supervisor
  |   |                        的心跳信息
  |   |
  |   |-/{supervisor-id}    -- 这个文件保存的是supervisor
  |   |                        的心跳信息包括:心跳时间,主
  |   |                        机名,这个supervisor上worker
  |   |                        的端口号运行时间
  |   |                        (具体看SupervisorInfo类)
  |   |
  |   |
  |-/logconfigs             -- 这个目录保存修改了LOG LEVEL
  |   |                        的topology的id
  |   |
  |   |-/{topology-id}     
  |   |                           
  |   |
  |-/nimbuses          
  |   |                     -- 这个里面保存了numbuses对应的机器列表
  |   |  
  |-/leader-lock          
  |   |                     -- 这个和HA有关[3] 
  |   |
  |-/workerbeats            -- 所有worker的心跳
  |   |
  |   |-/{topology-id}      -- 这个目录保存这个topology的所
  |       |                    有的worker的心跳信息
  |       |
  |       |-/{worker-id}    -- worker的心跳信息
  |
  |-/errors                 -- 所有component所产生的error信息
      |
      |-/{topology-id}      -- 这个目录保存这个topology下面
          |                    所有component的出错信息(包括
          |                    topology的所有component与系
          |                    统的“_acker”
          |
          |-/{component-id} -- 这个component的出错信息

[1] HOW TO TUNE APACHE STORM’S AUTOMATIC BACK PRESSURE

[2] Storm Distributed Cache API

[3] Highly Available Nimbus Design

[4] Storm 与 ZooKeeper —— 分布式实时计算提升篇

原文地址:https://www.cnblogs.com/SpeakSoftlyLove/p/6913552.html