Jstorm基础架构

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: Jstorm基础架构

整体架构

1.png

深度基于Zookeeper的调度系统。

Jstorm ZK路径

/-{storm.zookeeper.root}           -- Jstorm在zookeeper上的根目录,需要在jstorm中配置~/.jstorm/storm.yaml
  |                            
  |
  |-/nimbus_master                -- nimbus_master 的ip和端口
  | 
  |-/nimbus_slave                 --nimbus_slave信息,如果没有nimbus slave,此节点没有信息
  |
  |-/supervisors            -- 所有的supervisor的心跳信息
  |   |                        
  |   |-/{supervisor-id}    -- class SupervisorInfo,hostName,supervisorId,timeSecs(心跳最后更新时间),uptimeSecs(运行时间),version,port, Set<workerPort>,Set<availableWorkerPort>,Map<Object, Object> supervisorConf
  |                            
  |
  |-/assignments            --所有拓扑的分配资源信息
  |   |
  |   |-/{topology-id}      -- class Assignment,<supervisorId, hostname>--主机映射,masterCodeDir--nimbus上的代码目录,<TaskId, StartUpTime> 所有task的启动时间,  Set<ResourceWorkerSlot>,每个Worker的资源分配,包括hostname,memSize,cpu,tasks,jvm
  |                            
  |-/assignments_bak         -- 备份所有拓扑的分配资源信息
  |   |
  |   |-/{topology-name}      -- class AssignmentBak, Assignment assignment--分配信息备份,Map<ComponentId, List<TaskId>> 一个组件对应多个Task
  |
  |                           
  |-/blobstoremaxkeysequencenumber   --大对象的存储最大的序号,当使用BlobStore Nimbus Local 模式时保持一致性
  |
  |-/topology
  |   |
  |   |-/{topology-id}           --class StormBase ,记录topologyName,lanchTimeSecs,Topology status,enableMonitor,group
  |
  |-/blobstore                  --Blobstore 有两种模式,Nimbus Local 和 HDFS,默认是本地配置,使用Nimbus Local时需要zookeeper保证一致性,而HDFS自身已经提供了
  |   |
  |   |-{}                       --本地模式blobstore会存放到 storm.local.dir/blobs/ 目录,自定义存放目录可以通过blobstore.dir强制指定一个绝对路径。
  |
  |-/taskbeats 
  |   |
  |   |-/{topology-id}      
  |       |                    
  |       |-/{task-id}      -- class TopologyTaskHbInfo, Map<TaskId,TaskHeartbeat>--task的心跳,topologyId,topologyMasterId
  |                            
  |                                                
  |                           
  |-/tasks                 
  |   |
  |   |-/{topology-id}      -- Map<TaskId, TaskInfo> 一个taskId对应一个组件信息TaskInfo,一个组件可能是Spout或者Bolt,class TaskInfo,componentId,componentType
  |
  |
  |-/taskerrors                --所有topology task的错误信息
  |   |
  |   |-/{topology-id}         
  |        |                    
  |        |-/{task-id}      -- 对应task的出错信息
  |        |    |
  |        |    |-/{time}     -- 时间戳,以妙为单位,只保存最近两个错误,通过 zkCluster.report_task_error(topologyId, taskId, errorMessge),可以自定义错误,界面会显示"E(2)"
  |        |
  |        |-/{last_error}   -- 最后的错误信息 Map<Integer, String> lastErrInfo    
  |
  |
  |-/metrics                 
  |   |
  |   |-/__NIMBUS__         --nimbus metric信息
  |   |-/__SUPERVISOR__     --superviser metric信息
  |   |-/{topology-id}      --topology metric信息
  |   |-/ __CLUSTER__       --cluster metric信息
  |              
  |   
  |-/nimbus_slave_detail    -- nimbus_slave细节信息
  |   |                    
  |   |-/{hostPort}      --  mtmp.put("nimbus.differ.count.zk", diffCount); 
  |                            
  |

Jstorm 所有的zk路径都在 com.alibaba.jstorm.cluster.Cluster类中

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
4月前
|
存储 分布式计算 Hadoop
Hadoop是一个强大的分布式系统基础架构
【6月更文挑战第17天】Hadoop是一个强大的分布式系统基础架构
150 53
|
2月前
|
存储 监控 Cloud Native
Serverless 应用的监控与调试问题之Flink流批一体在架构层面有什么演进
Serverless 应用的监控与调试问题之Flink流批一体在架构层面有什么演进
|
4月前
|
存储 分布式计算 大数据
Hadoop 生态圈中的组件如何协同工作来实现大数据处理的全流程
Hadoop 生态圈中的组件如何协同工作来实现大数据处理的全流程
|
4月前
|
存储 消息中间件 Cloud Native
AutoMQ 生态集成 CubeFS
立方体文件系统(CubeFS)是一个云原生存储解决方案,现为CNCF孵化项目,支持S3、POSIX、HDFS等协议,提供多租户、多AZ部署和跨区域复制等功能,适用于大数据、AI、容器平台等场景。要部署AutoMQ集群,需先准备CubeFS集群,启用对象网关,创建用户并配置S3接口,然后创建Bucket。接着,下载AutoMQ二进制包,使用S3 URL生成器配置并启动集群,确保所有主机在同一网络并配置正确端口。启动时,先启动控制器,再启动Broker节点。注意,部署在私有数据中心时,需考虑SSD的可靠性,可能需要RAID配置。
82 4
|
5月前
|
分布式计算 Ubuntu Hadoop
【分布式计算框架】hadoop全分布式及高可用搭建
【分布式计算框架】hadoop全分布式及高可用搭建
91 1
|
5月前
|
消息中间件 JSON Kafka
AutoMQ 生态集成 Apache Doris
Apache Doris 是一个高性能的分析型数据库,以其亚秒级查询响应和对复杂分析的支持而知名。它适合报表分析、即席查询等场景,能从 AutoMQ 通过 Routine Load 导入 Kafka 主题数据。本文详述了如何配置 Doris 环境,创建测试数据,以及设置 Routine Load 作业从 AutoMQ 导入 JSON 数据到 Doris 表的过程。最后,文中展示了验证数据成功导入的方法。Apache Doris 提供了低成本、高弹性的数据处理解决方案,其团队由 Apache RocketMQ 和 Linux LVS 的核心成员组成。
52 0
|
5月前
|
存储 分布式计算 资源调度
世界最优秀的分布式文件系统架构演进之路
世界最优秀的分布式文件系统架构演进之路
102 0
|
分布式计算 Ubuntu Hadoop
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用
|
存储 运维 Kubernetes
阿里超大规模 Flink 集群运维体系介绍
以智能和云原生为技术内核,建设实时计算运维管控产品,来解决超大规模 Flink 集群运维和应用运维碰到的稳定、成本、效率三大难题。
阿里超大规模 Flink 集群运维体系介绍
一文带你认识 SOFARegistry 之基础架构篇
SOFARegistry 是蚂蚁集团在生产大规模使用的服务注册中心,经历了多年大促的考验,支撑蚂蚁庞大的服务集群,具有分布式可水平扩容、容量大、推送延迟低、高可用等特点。
一文带你认识 SOFARegistry 之基础架构篇
下一篇
无影云桌面