`

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的分布式流计算集群配置涉及多个步骤,包括服务器角色分配、ZooKeeper集群的搭建、Storm服务的安装和配置,以及拓扑的构建和提交。正确配置这些组件,可以实现高效、稳定的数据流处理。

    基于Java的Yahoo的分布式流计算平台 S4.zip

    描述:“基于Java的Yahoo的分布式流计算平台 S4.zip”是一个包含有关Yahoo的S4项目的压缩文件,该平台专注于处理大规模实时数据流。S4是开源的,旨在提供一个可扩展、容错的框架,用于构建和运行分布式流应用。 ###...

    基于分布式流计算的运维数据分析.pdf

    至于如何将分布式流计算系统与企业现有的运维系统进行融合,大多数科技公司核心流量仍然沿用旧架构,因为公司核心算法和架构基本没有改动太多,不太可能为了采用Spark和Storm这类开源系统而进行大规模的重新开发。...

    基于Storm流计算天猫双十一作战室项目实战

    ### 基于Storm流计算天猫双十一作战室项目实战 #### 一、课程亮点与核心知识点 本课程针对Apache Storm这一强大的分布式实时计算系统进行了全方位的解析与实战演练。通过本课程的学习,不仅可以掌握Storm的基本...

    分布式计算——原理、算法和系统

    2. **Spark**:基于内存计算的分布式计算引擎,支持批处理、交互式查询、实时流处理等多种计算模式。 3. **Storm**:实时流处理系统,能够处理无界数据流,并确保每个消息只被处理一次。 4. **Flink**:高性能的流...

    storm组件安装部署.doc

    Storm是一个开源的分布式实时流计算框架,它被广泛应用于实时日志分析、个性化推荐、实时监控等多个领域。这个文档主要聚焦于如何在单机环境下部署和运行Storm,尤其针对CentOS 6.4系统,并且确认在Storm 0.9.6版本...

    storm1.1.0版本单节点部署

    Apache Storm 是一个开源的分布式实时计算系统,它能够处理大规模的数据流并进行实时分析。在单节点部署中,所有的 Storm 组件,包括 Nimbus、Supervisor 和 UI,都将运行在同一台机器上,适合于开发环境或简单测试...

    java web编程与分布式计算

    Java Web编程与分布式计算的结合,为企业级应用程序提供了强大的开发和运行平台。无论是大数据分析、实时流处理还是高并发Web服务,Java都能提供相应的工具和框架来应对挑战。开发者需要深入理解这些技术,并灵活...

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

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

    storm集群部署和配置过程详解

    Storm是一个分布式实时计算系统,能够处理大规模数据流,确保每个事件都得到正确的处理。以下是搭建Storm集群的详细步骤: 1. **设置Zookeeper集群**: Storm依赖Zookeeper进行集群协调,确保高可用性和容错性。...

    基于Storm流计算天猫双十一作战室项目实战.docx

    《基于Storm流计算天猫双十一作战室项目实战》的课程涵盖了多个关键技术和实战环节,旨在让学员深入了解并熟练应用Storm流计算框架,同时强化其在大数据处理领域的综合能力。以下是课程内容的详细阐述: 1. **Storm...

    行业分类-设备装置-基于分布式计算平台的GPEH数据解析方法和装置.zip

    在当前的数字化时代,分布式计算平台已成为处理大量数据的关键技术之一。标题中的“行业分类-设备装置-基于分布式计算平台的GPEH数据解析方法和装置”表明了这个压缩包内容涉及的是工业或设备领域中,利用分布式计算...

    基于Storm的铁道供电监控信息实时流计算处理研究_铁道供电相关专业论文毕业设计范文.pdf

    本文主要探讨了基于 Apache Storm 的实时流计算平台在铁道供电监控领域的应用,旨在解决海量数据的快速处理问题,提高调度监控的实时性和可靠性。 首先,传统的监控系统面临数据量激增的挑战,尤其是随着物联网设备...

    分布式数据流聚类算法及其基于Storm的实现.pdf

    Storm是一个开源的分布式实时计算系统,能够处理连续的数据流,确保低延迟和高吞吐量。结合内存数据库Redis和消息中间件Kafka,DCD-Stream算法的拓扑结构得以优化部署和实现。Redis用于快速存取数据,Kafka则负责...

    轻量级分布式实时计算框架light_drtc.pdf

    Apache Storm是一个开源的分布式实时计算系统,它能够持续处理无界数据流,保证每个消息都得到正确的处理。而Spark Streaming是基于Apache Spark构建的,提供了窗口化的批处理能力,以模拟流处理,它擅长于处理短暂...

    综合实训-分布式计算v2.rar

    8. **分布式计算框架**:除了Hadoop,还有许多其他分布式计算框架,如Apache Storm用于实时流处理,Apache Flink用于高性能、低延迟的数据流处理,以及Apache Spark用于批量和交互式计算。 9. **故障检测与恢复**:...

    基于大数据的分布式网络安全管理平台的设计.pdf

    Storm是一个实时计算系统,能够处理高速数据流;ElasticSearch是一个基于Lucene的搜索引擎,能够提供实时的搜索和分析能力。两者的结合可以实现数据的实时处理和检索,从而快速响应安全事件,提供关联分析和预测能力...

    细细品味Storm_Storm简介及安装

    **Storm** 是一款由BackType公司开发的分布式实时计算系统,后被Twitter收购并开源。它主要用于处理大规模的数据流,能够简单、高效、可靠地处理实时数据。Storm的核心部分采用Clojure语言编写,外围则使用Java。 *...

Global site tag (gtag.js) - Google Analytics