Apache Storm介绍和单机环境搭建

                                   Apache Storm

==流计算==:将大规模流动数据在不断变化的运动过程中实现数据的实时分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。

流计算框架

  • Kafka Streaming (轻)只是一套jar包,结合kafka消息队列实现的轻量级别计算框架.

  • ==Apache Storm==:是一款名副其实实时流计算服务(早期 阿里巴巴 )

  • Spark Streaming:是基于Spark 离散 RDD 的小批量内存计算,因为计算速度比较快,被认定为实时|处理.

  • Apache Flink:Stateful Computations over Data Streams,Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。

什么是Apache Storm?

Apache Storm提供了一种基于Topology流计算概念,该概念等价于hadoop的mapreduce计算,但是不同于MapReduce计算因为MR计算会最终终止,但是Topology计算会一直运行下去,除非用户执行storm kill指令该计算才会终止.

Storm提供了高可靠/可扩展/高度容错的流计算服务 ,该服务可以保证数据|Tuple可靠性处理(至少一次|精确1次)处理机制.可以方便的和现用户的服务进行集成,例如:HDFS/Kafka/Hbase/Redis/Memcached/Yarn等服务集成.Storm的单个阶段每秒钟可以处理100万条数据|Tuple

Storm 架构

nimbus:计算任务的主节点,负责分发代码/分配任务/故障检测 Supervisor任务执行.

supervisor:接受来自Nimbus的任务分配,启动Worker进程执行计算任务.

zookeeper:负责Nimbus和Supervisor协调,会使用zk存储nimbus和supervisor进程状态信息,这就导致了Nimbus和Supervisor是无状态的可以实现任务快速回复,即而让流计算达到难以置信的稳定.

Worker:是Supervisor专门为某一个Topology任务启动的一个Java 进程,Worker进程通过执行Executors(线程池)计算任务,每个任务是同Task执行,一个Task就代表一个线程.一旦Topology被kill,该Topology下的所有worker进程退出.

                                           搭建Storm单机

 

  • 安装JDK,要求1.8+,配置JAVA_HOME(省略)

  • 搭建zookeeper环境(单机)(省略)

  • 配置主机名和IP映射关系(略)

  • 关闭防火墙(略)(省略)

  • 安装配置Storm(省略)

  • 启动zookeeper

  • [root@CentOS ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh start zoo.cfg
    JMX enabled by default
    Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    [root@CentOS ~]# jps
    1400 QuorumPeerMain
    1417 Jps

    上传文件apache-storm-1.2.2.tar.gz并解压

  • [root@CentOS ~]# yum install lrzsz -y #插件
    [root@CentOS ~]# rz #上传
    [root@CentOS ~]# tar -zxf apache-storm-1.2.2.tar.gz -C /usr/
    [root@CentOS ~]# ls /usr/apache-storm-1.2.2/
    bin       external       lib      NOTICE           RELEASE
    conf      extlib         LICENSE  public           SECURITY.md
    examples  extlib-daemon  log4j2   README.markdown  toollib
    [root@CentOS ~]# vi .bashrc
    STORM_HOME=/usr/apache-storm-1.2.2
    HBASE_MANAGES_ZK=false
    HBASE_HOME=/usr/hbase-1.2.4
    HADOOP_HOME=/usr/hadoop-2.6.0
    HADOOP_CLASSPATH=/root/mysql-connector-java-5.1.44.jar
    JAVA_HOME=/usr/java/latest
    PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$STORM_HOME/bin
    CLASSPATH=.
    export JAVA_HOME
    export PATH
    export CLASSPATH
    export HADOOP_HOME
    export HADOOP_CLASSPATH
    export HBASE_HOME
    export HBASE_MANAGES_ZK
    export STORM_HOME
    [root@CentOS ~]# source .bashrc #从新加载配置文件
    [root@CentOS ~]# vi /usr/apache-storm-1.2.2/conf/storm.yaml 
     storm.zookeeper.servers:
         - "CentOS"
     storm.local.dir: "/usr/apache-storm-1.2.2/storm-stage"
     nimbus.seeds: ["CentOS"]
     supervisor.slots.ports:
         - 6700
         - 6701
         - 6702
         - 6703

     

    启动Storm

  • [root@CentOS ~]# nohup storm nimbus >/dev/null 2>&1 &  后台启动
    [root@CentOS ~]# nohup storm supervisor >/dev/null 2>&1 &
    [root@CentOS ~]# nohup storm ui >/dev/null 2>&1 & --启动web界面,管理Topology

    检测启动成功

  • [root@CentOS ~]# jps
    13488 Supervisor
    30648 QuorumPeerMain
    13371 nimbus
    13598 core
    [root@CentOS ~]# 

     访问:http://CentOS:8080

     

     

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值