storm架构和安装

作者: 心_的方向 | 来源:发表于2016-12-13 21:09 被阅读271次

storm技术的引入

对于一些要求进行实时数据分析的,并以秒级、甚至毫秒级就要反馈结果的场景(交通部门监控超速车辆、互联网监测网络攻击等)。这时候Hadoop的mapreduce计算框架已经不能满足需求,这个时候就需要使用实时计算框架Storm或Spark Streaming。

实时数据处理的两种形式

  1. Continuous Streaming 持续流式计算:单独处理每条记录,并在记录出现时立即处理。Storm采用这种计算模式
  2. 微批量计算:将多个记录组合(可以按照记录的数量或者时间分割出来)为一个单位,然后进行计算处理。Spark Streaming计算框架采用这种模式。

storm的几个重要特性

  1. 是开源的分布式实时计算系统
  2. 编程模型简单,可以支持多种编程语言
  3. 低延迟,可以达到秒级。
  4. 易扩展(增加计算节点),有容错机制。

storm架构体系

  1. 整体架构图


    Image.png
  2. 各组件功能和特性
  • Nimbus:
    1. 作为主节点,本身是无状态的,状态信息是由zookeeper存储(实现了高可用,当nimbus挂掉,可以找另外一个节点启动nimbus进程,状态信息从zookeeper获得)。
    2. 在nimbus进程失败后,可以快速重启恢复正常工作,不需要很长的时间来进行初始化和状态恢复。
    3. 接受客户端任务Topology的提交,然后把代码发布到zookeeper上,由supervisor到zookeeper上领取任务。
    4. 当nimbus从zookeeper得知有supervisor节点挂掉,可以将该节点的任务重新分配给其他子节点。
  • Supervisor
    1. 作为从节点
    2. 从zookeeper上获取nimbus分配的任务,负责启动和停止worker工作进程
    3. 自己的状态信息汇报到zookeeper上,然后由nimbus监控
  • worker:负责启动和停止executor线程
  • executor:真正执行任务task的线程。
  • zookeeper:存储nimbus和supervisor的状态信息,这样使storm集群保持无状态,具有高可用性。


    Image.png
  • logviewer:负责storm集群中日志收集的进程,需要在每个supervisor节点上启动

Storm的安装部署

  1. 将安装包解压到指定目录
    $ tar zxvf apache-storm-0.9.6.tar.gz -C /opt/modules/
    Image.png
  2. 在./conf/storm_env.ini中配置JAVA_HOME


    Image.png
  3. 对./conf/storm.yaml进行配置(格式一定要注意,不要用tab)
    storm.zookeeper.servers:指定zookeeper集群节点
    nimbus.host:指定nimbus节点
    storm.local.dir:这个指定的本地系统的地址用来保存任务提交的jar包
    supervisor.slots.ports:指定supervisor启动的工作进程work的默认端口号,若超过指定的个数,将随机分配


    Image.png
  4. 启动zookeeper(提前安装部署成功),然后启动主节点nimbus和从节点supervisor以及logviewer。在刚启用主节点、从节点、logviewer的时候,用jps查看,进程名会显示config_value,这是因为这时正在加载配置文件。
    $ bin/zkServer.sh start
    $ nohup bin/storm nimbus >/dev/null 2>&1 &
    $ nohup bin/storm supervisor >/dev/null 2>&1 &
    $ nohup bin/storm logviewer>/dev/null 2>&1 &
    所有进程启动成功后用jps查看
    Paste_Image.png
  5. 启动ui进程
    $ nohup bin/storm ui >/dev/null 2>&1 &
    Paste_Image.png
    Paste_Image.png
  6. 测试运行自带的单词统计示例(注意:任务会一直运行)
$ bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount
Paste_Image.png
Paste_Image.png

相关文章

  • storm架构和安装

    storm技术的引入 对于一些要求进行实时数据分析的,并以秒级、甚至毫秒级就要反馈结果的场景(交通部门监控超速车辆...

  • 从集群看Storm

    0x00:Storm集群的框架 ①Storm集群遵循主/从(Master / Slave)架构,和Hadoop等分...

  • 大数据开发环境搭载8--安装Storm集群

    8、安装Storm集群 下载 将Storm安装到/usr/local/storm 修改/etc/profile,末...

  • 好程序员大数据培训分享:Storm架构

    好程序员大数据培训:Storm架构,Storm架构:master/slave 主节点:Nimbus 负责在集群上进...

  • Zookeeper+Storm集群搭建

    基础集群环境参考上一篇文章:集群基础环境搭建 Storm集群架构 Storm是Master-Slaves 主从架构...

  • Storm集群安装Version1.0.1

    Storm集群安装,基于版本1.0.1,使用apache-storm-1.0.1.tar.gz安装包。 1.安装规...

  • storm集群部署

    概述 本文开始安装storm集群。 部署过程 上传storm安装包、解压和配置环境变量 2.修改配置文件 启动st...

  • Storm | 架构

    架构 特点 简单编程模型 高扩展性 高可靠性 高容错性 - nimbus不支持容错 支持多语言编程 支持本地模式 ...

  • 32 storm 单词计数

    上一篇 简单看 storm, 主要简单讲解了storm 的集群架构、核心概念、并行度、流分组,本篇利用 storm...

  • Hadoop2.0 | storm-yarn

    storm on yarn 架构 优势 弹性计算资源Storm可与YARN上其他应用程序(比如MapReduce批...

网友评论

    本文标题:storm架构和安装

    本文链接:https://www.haomeiwen.com/subject/vczvmttx.html