`
gaojingsong
  • 浏览: 1201366 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Zookeeper在storm中扮演的角色】

阅读更多

一、Zookeeper在storm充当的作用

Storm的所有的状态信息都是保存在Zookeeper里面,nimbus通过在zookeeper上面写状态信息来分配任务,
supervisor,task通过从zookeeper中读状态来领取任务,同时supervisor, task也会定义发送心跳信息到zookeeper,
使得nimbus可以监控整个storm集群的状态,从而可以重启一些挂掉的task。
ZooKeeper 使得整个storm集群十分的健壮,任何一台工作机器挂掉都没有关系,只要重启然后从zookeeper上面重新获取状态信息就可以了。

 

二、Trident主要有5类操作:

1、作用在本地的操作,不产生网络传输。

2、对数据流的重分布,不改变流的内容,但是产生网络传输。

3、聚合操作,有可能产生网络传输。

4、作用在分组流(grouped streams)上的操作。

5、Merge和join

 

 


三、Strom在Zookeeper中的目录结构


/assignments -> 任务分配信息
/storms -> 正在运行的topology的ID
/supervisors -> 所有的Supervisors的心跳信息
/workerbeats -> 所有的Worker的心跳
/errors -> 产生的出错信息


/-{storm-zk-root}           -- storm在zookeeper上的根目录(默认为/storm)
  |
  |-/assignments            -- topology的任务分配信息
  |   |
  |   |-/{topology-id}      --  这个目录保存的是每个topology的assignments信息包括:对应的nimbus上
  |                         --  的代码目录,所有task的启动时间,每个task与机器、端口的映射。操作为
  |                         --  (assignments)来获取所有assignments的值;以及(assignment-info storm-id)
  |                         --  来得到给定的storm-id对应的AssignmentInfo信息
  |                         --  在AssignmentInfo中存储的内容有:
  |                         --  :executor->node+port :executor->start-time-secs :node->host
  |                         --  具体定义在common.clj中的
  |                         --  (defrecord Assignment[master-code-dir node->host executor->node+port                                    executor->start-time-secs])                       
  |
  |-/storms                 -- 这个目录保存所有正在运行的topology的id
  |   |
  |   |
  |   |-/{topology-id}      -- 这个文件保存这个topology的一些信息,包括topology的名字,topology开始运行
  |                         -- 的时间以及这个topology的状态。操作(active-storms),获得当前路径活跃的下
  |                         -- topology数据。保存的内容参考类StormBase;(storm-base storm-id)得到给定的
  |                         -- storm-id下的StormBase数据,具体定义在common.clj中的
  |      -- (defrecord StormBase [storm-name launch-time-secs status num-workers component->executors])
  |
  |-/supervisors            -- 这个目录保存所有的supervisor的心跳信息
  |   |                       
  |   |
  |   |-/{supervisor-id}    -- 这个文件保存supervisor的心跳信息包括:心跳时间,主机名,这个supervisor上
  |                         -- worker的端口号,运行时间(具体看SupervisorInfo类)。操作(supervisors)得到
  |                         -- 所有的supervisors节点;(supervisor-info supervisor-id)得到给定的
  |                         -- supervisor-id对应的SupervisorInfo信息;具体定义在common.clj中的
  |                           
  |       -- (defrecord SupervisorInfo [time-secs hostname assignment-id used-ports meta scheduler-meta              uptime-secs])
  |
  |-/workerbeats                    -- 所有worker的心跳
  |   |
  |   |-/{topology-id}              -- 这个目录保存这个topology的所有的worker的心跳信息
  |       |
  |       |-/{supervisorId-port}    -- worker的心跳信息,包括心跳的时间,worker运行时间以及一些统计信息
  |                                       
  |                                 -- 操作(heartbeat-storms)得到所有有心跳数据的topology,
  |                                 -- (get-worker-heartbeat storm-id node port)得到具体一个topology下
  |                                 -- 的某个worker(node:port)的心跳状况,
  |                          -- (executor-beats storm-id executor->node+port)得到一个executor的心跳状况
  |
  |-/errors                  -- 所有产生的error信息
  |
  |-/{topology-id}           -- 这个目录保存这个topology下面的错误信息。操作(error-topologies)得到出错
      |                      -- 的topology;(errors storm-id component-id)得到
      |                      -- 给定的storm-id component-id下的出错信息
      |-/{component-id}

 



 

  • 大小: 42.7 KB
0
1
分享到:
评论

相关推荐

    zookeeper+storm安装包

    在分布式计算领域,Zookeeper和Storm是两个非常关键的组件,它们在大数据处理和实时计算中扮演着核心角色。Zookeeper是一个高可用的分布式协调服务,而Storm则是一个分布式实时计算系统。 Zookeeper的主要功能包括...

    Storm1.2.2+Zookeeper3.4.14.zip

    Apache Storm是一个实时计算系统,而Zookeeper则是一个分布式协调服务,它们在大数据生态系统中扮演着关键角色。 Apache Storm是用于实时数据流处理的开源框架,它能够以高吞吐量、低延迟的方式处理无限的数据流。...

    storm 流式处理 安装软件(包括zookeeper,jzmq,zeroMQ,storm)

    在Storm中,Zookeeper扮演着关键角色,它用于协调集群中的各个节点,确保 Storm 集群的稳定运行。例如,它负责nimbus(主控节点)与supervisor(工作节点)之间的通信,管理topology(拓扑结构)的分配和状态,以及...

    源码阅读之storm操作zookeeper-cluster.clj

    Zookeeper是一个分布式协调服务,它在storm中扮演着存储元数据、管理拓扑状态和协调节点通信的重要角色。storm使用Zookeeper来存储任务分配、心跳信息、拓扑状态以及监控数据等,确保分布式环境下的高可用性和一致性...

    storm+zookeeper+maven安装包

    这三个组件在大数据生态系统中扮演着至关重要的角色。 Apache Storm是一个开源的分布式实时计算系统,它允许开发者处理无界数据流,就像对关系数据库进行SQL查询一样简单。Storm具有高容错性,能够保证每个消息至少...

    Storm+Zookeeper 流模式大数据处理部署手册

    Apache Storm作为一款强大的实时计算框架,能够处理大规模流式数据,而Zookeeper则是Apache开源项目中的协调服务,它在分布式环境中提供配置管理、命名服务、集群同步等功能。本方案结合统信UOS操作系统,详细介绍...

    storm-zookeeper-jdk.zip

    这些组件在大数据处理领域中扮演着关键角色,让我们逐一深入了解它们: 1. **Apache Storm**:Apache Storm是一个开源的分布式实时计算系统,它允许用户处理无界数据流,即持续不断的数据流。Storm可以用于实时分析...

    使用Storm实时处理交通大数据(数据源:kafka,集群管理:zookeeper).zip

    Apache Storm扮演了数据处理器的角色,它能够持续不断地处理Kafka中的数据流。Storm的核心概念包括“拓扑”(Topology),其中包含“spout”(数据源)和“bolt”(处理组件)。在交通大数据场景中,spout可能是一个...

    Zookeeper概述

    Zookeeper在Hadoop生态系统中扮演着极其重要的角色,已成为不可或缺的基础组件之一。 ### Zookeeper的特点 - **最终一致性**:确保所有客户端看到相同的数据视图,这是Zookeeper最核心的功能。 - **可靠性**:若一...

    zookeeper-3.4.6.zip

    综上所述,Zookeeper 3.4.6在分布式系统中扮演着至关重要的角色,为各种分布式应用提供了高效、可靠的协调服务。理解和掌握Zookeeper的原理和使用,对于构建大规模的分布式系统具有重要的实践价值。

    zookeeper教程资料.zip

    总结来说,Zookeeper是构建分布式系统的关键组件,它的强大功能和灵活性使其在大数据和云计算领域中扮演着不可或缺的角色。理解并熟练掌握Zookeeper,对于提升分布式系统的稳定性和可扩展性至关重要。无论是开发人员...

    细细品味Storm_Storm简介及安装

    由于Zookeeper在Storm集群中扮演着协调角色,因此首先需要安装Zookeeper。步骤包括下载、配置环境变量、设置配置文件等。 **2.3 安装Storm** - **下载**:从官方网站下载Storm的安装包。 - **解压**:将安装包解压...

    zookeeper-3.4.9.tar.gz

    Zookeeper在Hadoop、HBase、Kafka、Storm等分布式系统中都有着关键性的应用,例如在Hadoop中用于管理HDFS的元数据,Kafka中用于管理主题和分区,以及在分布式锁、服务发现、负载均衡等领域也有广泛应用。...

    apache-zookeeper-3.5.8-bin.tar.gz

    Zookeeper在大数据生态系统中扮演着至关重要的角色,尤其在分布式协调服务上。 在Linux系统上安装Apache ZooKeeper 3.5.8版本,首先需要下载指定的压缩包文件"apache-zookeeper-3.5.8-bin.tar.gz"。这个文件包含了...

    apache-zookeeper-3.5.7.tar.gz

    ZooKeeper在大数据、分布式计算领域扮演着重要的角色,尤其在Hadoop、Spark等框架中被广泛使用。 标题中的"apache-zookeeper-3.5.7.tar.gz"表明这是Apache ZooKeeper的3.5.7版本的源码包,以tar.gz格式压缩。这个...

    zookeeper资料

    总结来说,Zookeeper作为一个可靠的分布式协调系统,在大数据和分布式系统中扮演着重要的角色。理解和掌握Zookeeper的基本原理、应用场景、安装部署和客户端设计,对于构建和维护一个稳定、高效的分布式系统至关重要...

    动物园zookeeper

    在分布式系统中,Zookeeper扮演着关键的角色,它提供了诸如配置管理、命名服务、分布式同步、组服务等核心功能。在“动物园zookeeper”这个主题中,我们将深入探讨Zookeeper 3.9版本的特点、安装与配置以及其在实际...

    storm企业应用 实战 运维和调优

    Storm框架在企业级应用中扮演着重要角色,运维和调优确保了实时数据处理的性能和可靠性。通过掌握以上知识点,可以让Storm集群在各种企业环境中高效稳定地运行,同时快速响应各种业务需求的变化。

    使用Storm实现实时大数据分析.doc

    6. **Zookeeper**:Zookeeper在Storm中扮演协调者的角色,确保Nimbus和Supervisor之间的通信以及任务分配的正确性。 安装和配置Storm相对简单,需要下载安装文件,将bin目录添加到PATH环境变量,并确保storm脚本可...

Global site tag (gtag.js) - Google Analytics