`

Storm分布式流计算平台的部署安装

阅读更多

     目前大数据时代已经来临,面临大数据分布式、实时处理的多种技术平台,我们该如何选择?经过调研及逐步甄选,Storm和S4是相对比较突出的两个分布式流计算平台,Storm是由twitter开源,S4是雅虎开源,相对于S4,Storm的成熟度高稳定性好。包括阿里巴巴等大型公司的数据平台也在使用Storm。

    搜罗了网上很多Storm的安装教程,大多数网友也是转载,没有一篇教程能够指导完整的安装。下面,我将以Red hat 5.4为例,讲述我的整个安装过程。

 

一、安装前的准备

  以下安装包经过亲测,不能保证其他版本之间是否互相兼容:

(1)从http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz下载python

(2)从http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz下载zookeeper

(3)从http://download.zeromq.org/historic/zeromq-2.1.7.tar.gz下载zeromq

(4)从https://nodeload.github.com/nathanmarz/jzmq/zip/master下载jzmq

(5)从https://dl-web.dropbox.com/u/133901206/storm-0.8.2.zip下载storm,(注意:storm官网链接到的storm下载地址被大陆大部分地区屏蔽,所以要把官网的下载域名替换为dl-web.dropbox.com才可以的)

(6)从orcale官网下载jdk1.6,这里不再列举下载地址,大部分网友应该都有。

(7)从https://nodeload.github.com/technomancy/leiningen/zip/1.x下载lein

二、开始安装

(1)首先将下载好的7个安装包,拷贝到安装机器中,我这暂时以/data/app/package为例。

(2)安装jdk1.6,设置JAVA_HOME和PATH,已经安装的网友忽略此步;

(3)安装python,#cd /data/app/package:

         3.1  #tar zxvf Python-2.7.2.tgz

         3.2  #./configure

         3.3  #make 
         3.4  #make install

         3.5  #vi /ect/ld.so.conf 在末尾追加 /usr/local/lib

         3.6  #sudo ldconfig

(4)安装zookeeper,#cd /data/app/package:

         4.1 #tar zxf zookeeper-3.3.6.tar.gz

         4.2 #cd zookeeper-3.3.6/conf

         4.3 #cp zoo_sample.cfg zoo.cfg 复制一个生效的配置文件,配置项可暂不做修改

         4.4 #cd ../bin

         4.5 #chmod +x *  给执行脚本赋权

         4.6 #./zkServer.sh start 启动zookeeper

(5)安装zeromq,#cd /data/app/package:

         5.1 #tar zxf zeromq-2.1.7.tar.gz

         5.2 #cd zeromq-2.1.7

         5.3 #./configure

                 5.3.1如果报错:(我安装的时候没有报错,因为redhat5.4已经有c compiler,报错的网友按照下面解决)
                         configure: error: in `/usr/local/download/zeromq-2.1.7':
                         configure: error: no acceptable C compiler found in $PATH
                         See `config.log' for more details
                         原因为没有安装c compiler
                         解决方法:
                         #yum install gcc*

                5.3.2 如果遇到Error:cannot link with -luuid, install uuid-dev(我安装的时候遇到)
                          原因为缺少uuid相关package
                          解决方法:
                          #yum install uuid*
                          #yum install e2fsprogs*

          5.4#make

          5.5#make install

          5.6#ldconfig

(6)安装jzmq,#cd /data/app/package:

         6.1#unzip jzmq-master.zip (没有安装unzip命令的网友,通过yum安装,redhat5.4已自带)

         6.2#cd jzmq-master

         6.3#./autogen.sh

              6.3.1如果报错:(我安装过程中没有报错)
                   autogen.sh: error: could not find libtool. libtool is required to run autogen.sh.
                  缺少libtool,解决办法:

                  #yum install libtool*

        6.4#./configure

        6.5#make

        6.6#make install

  (7)安装lein(Storm运行依赖lein),#cd /data/app/package:

        7.1#mkdir lein

        7.2#unzip leiningen-1.x.zip

        7.3#cp leiningen-1.x/bin/lein lein

        7.4#rm -rf leiningen-1.x* (这里仅需要lein这一个可执行文件,其余的源码不需要,所以删除)

        7.5#cd lein

        7.6#chmod +x lein

        7.7#./lein (执行一下,触发下载依赖,执行时,会将lein依赖的jar包从网络下载下来,如果你的电脑与网络不通,可以提前将leiningen-1.7.1-standalone.jar下载下来,放到~/.lein/self-installs文件夹下)

 (8)安装storm,#cd /data/app/package:

        8.1#unzip storm- 0.8.3 zip

        8.2#cd storm- 0.8.3

        8.3#cd conf

        8.4#vi storm.yaml (每个配置项前面都要有英文空格,否则不生效)

             ########### These MUST be filled in for a storm configuration
             storm.zookeeper.servers:
                    - "localhost" (我部署的zookeeper和storm同一台机器,所以使用localhost)
             #     - "server2"    (如果对接zookeeper集群,则增加多个,这里先使用zookeeper单点)
            storm.zookeeper.server.ports:
                    - "2181"    (zookeeper的端口,默认2181,可不设置)
            nimbus.host: "localhost" (nimbus的ip地址,我这里只在单机部署,所以用localhost,如果supervisor和nimbus不是同一台机器,则需要指定具体ip)
        8.5#cd ../bin

        8.6#chmod +x *

        8.7#nohup ./storm nimbus &       (启动storm控制进程)

        8.8#nohup ./storm ui &              (启动storm的ui监控界面,ui界面进程必须与控制进程在同一台机器)

            通过http://localhost:8080/可以直接访问

        8.9#nohup ./storm supervisor &(启动storm的工作进程)

 

现在完成了整个storm平台的部署,如上的内容是单机版的部署,如果需要搭建storm集群,那么需要将每台集群机器都要按照如上流程部署,不同的是:

主控机和工作机的storm.yaml不同;主控器使用的是 ./storm nimbus启动,工作机使用的是 ./storm supervisor启动。

 

谢谢!后面会继续展开storm平台各项功能的研究,研究的札记也会分享出来。

 

********************************************************************************************************************

附:使用redhat 系统在线安装时提示This system is not registered with RHN(因为安装最后一步没有注册).如下:
       [root@localhost ~]# yum install uuid*
          Loaded plugins: rhnplugin, security
          This system is not registered with RHN.
           RHN support will be disabled.
          Setting up Install Process
          No package httpd available.
          Nothing to do
 解决方案:
 1.卸载redhat自带的yum组件
 [root@localhost ~]# rpm -qa|grep yum|xargs rpm -e --nodeps
 
2.安装centos的yum包
 [root@localhost ~]# wget  http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm
 [root@localhost ~]# wget  http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
 [root@localhost ~]# wget  http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
 [root@localhost ~]# rpm -ivh *.rpm
 warning: yum-3.2.22-37.el5.centos.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
 Preparing...                ########################################### [100%]
    1:yum-metadata-parser    ########################################### [ 33%]
    2:yum-fastestmirror      ########################################### [ 67%]
    3:yum                    ########################################### [100%]
3. 下载更新源,并存放在系统目录中
 [root@localhost ~]# wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
 [root@localhost ~]#mv CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo


4.生成缓存并进行安装
[root@localhost ~]# yum makecache
[root@localhost ~]# yum install uuid*

1
1
分享到:
评论
1 楼 leaow567 2013-03-22  
写的很详细,前一阵子没装成功,看看

相关推荐

    实时可靠的开源分布式实时计算系统——Storm

    Storm是一个开源分布式实时计算系统,它可以实时可靠地处理流数据。在Storm出现之前,进行实时处理是非常痛苦的事情,我们主要的时间都花在关注往哪里发消息,从哪里接收消息,消息如何序列化,真正的业务逻辑只占了...

    如何在分布式实时计算框架Storm中调用ODM规则运算

    Storm是目前流行的分布式实时流计算框架之一,它提供了可容错分布式计算所要求的基本需求和保障机制,可以满足高吞吐,实时的关键业务应用的需求。在编写基于Storm的分布式计算应用时,我们首先需要创建一个拓扑...

    storm讲义总结

    Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。 Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。 Storm支持水平扩展,具有高容错性,保证每个消息...

    大数据-Storm实时数据处理

    内容涵盖Storm本地开发环境搭建、日志流数据处理、Trident、分布式远程过程调用、Topology在不同编程语言中的实现方法、Storm与Hadoop的集成方法、实时机器学习、持续交付和如何在AWS上部署Storm。此外,《大数据...

    Storm学习总结

    Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm是一个服务框架,支持热部署,即时上线或下线App。 你可以在Storm之上使用各种编程语言。默认支持Clojure、Java、Ruby和Python。要...

    Apache Storm Scheduler 概览-研究论文

    随着互联网使用的增加,多媒体、社交网络数据处理的计算需求正在Swift增加,这需要实时分布式流处理系统。 Apache Storm 是一个分布式实时计算系统,它是开源且免费的。 Storm由于具有可扩展性、高可靠性、容错性、...

    漫谈大数据第四期-storm

    Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。 Storm也可被用于“连续计算”(continuous computation),对数据流做连续...

    大数据开源框架集锦.pdf

    ⼤数据开源框架集锦 1 ⼤数据平台 Hadoop 离线数据的分布式存储和计算基础框架 分布式存储HDFS 离线计算引擎MapReduce 资源调度Apache YARN CDH 基于稳定版Hadoop及相关项⽬最成型的发⾏版本, 成为企业部署最⼴泛的...

    FusionInsightHD华为大数据平台.pdf

    Storm 提供分布式、⾼性能、⾼可靠、容错的实时计算平台,可以对海量数据进⾏实时处理。CQL(Continuous Query Language)提供 的类SQL流处理语⾔,可以快速进⾏业务开发,缩短业务上线时间。 Spark 基于内存进⾏...

    Ambari 开源软件.doc

    而且,Ambari 现在所支持的平台组件也越来越多,例如流行的 Spark,Storm 等计算框架,以及资源调度平台 YARN 等,我们都能轻松地通过 Ambari 来进行部署。 Ambari 自身也是一个分布式架构的软件,主要由两部分组成...

    大数据开发的技巧总结以及入门教程知识点总结.docx

    分布式系统理解:掌握分布式计算原理,理解MapReduce、Spark、Flink等计算框架的工作机制。 数据清洗:熟练使用ETL工具和编程技术进行数据预处理和清洗。 集群管理:掌握Hadoop、YARN或Mesos等集群资源管理与调度...

    大数据技术概述.pdf

    流计算代 表产品有S4、Storm、Flume、Puma、DStream、银河流数据处理平台。第三种模式是图计算,有些应⽤场景⽐较适合图来建模,⽐如 地理信息系统(快递)、微博微信社交群体,⽹友是点,点赞就建⽴边,会发现哪些...

    大数据架构师应该做到的.pdf

    6)Stream procressing(流式计算) 6)Stream procressing(流式计算) Storm(实时数据处理分析) Kafka(分布式发布订阅消息系统) 拖放可视化设计,开发,部署和管理流式数据分析应⽤程序 进⾏事件关联,上下⽂衔接,...

    Hadoop权威指南_第四版_中文版

    HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)...

    软件技术《行业标准-人工智能》.doc

    目前流行的分布式计算框架如 OpenStack、Hadoop、Storm、Spark、Samza、Bigflow 等。各种开源深度学 习框架也层出不穷,其中包括 TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、 Leaf、Theano、DeepLearning4、...

    大数据的基础知识.pdf

    4 Storm Storm⽤于"连续计算",对数据流做连续查询,在计算时就将结果以流的形式输出给⽤户。 5 Spark Spark是当前最流⾏的开源⼤数据内存计算框架。可以基于Hadoop上存储的⼤数据进⾏计算。 6 Oozie Oozie是⼀个...

    大数据分析一体机.pptx

    流计算(twitter的storm和yahoo的S4) 一些相关技术 大数据分析一体机全文共31页,当前为第5页。 1、对现有数据库管理技术的挑战 传统的数据库部署不能处理数TB 级别的数据,也不能很好的支持高级别的数据分析。急速...

    大数据工程师学习计划.pdf

    但是如果同时需要批处理和流处理,按照如上就得搭两个集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易于 管理,所以出现了Spark这样的⼀站式的计算框架,既可以进⾏批处理,⼜可以进⾏流处理(实质...

    java开源包1

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

Global site tag (gtag.js) - Google Analytics