storm的官方安装说明(e文):https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster
storm的安装分为单机版和集群版,只是配置稍微有点区别,大致一样。
要使用storm首先要安装以下工具:
python、zookeeper、zeromq、jzmq、storm
第一步,安装Python2.7.2
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2
./configure
make
make install
vi /etc/ld.so.conf
追加/usr/local/lib/
sudo ldconfig
第二步,安装zookeeper
wget http://labs.mop.com/apache-mirror/zookeeper/zookeeper-3.3.5/zookeeper-3.3.5.tar.gz
tar -zxvf zookeeper-3.3.5.tar.gz
cp -R zookeeper-3.3.5 /usr/local/
ln -s /usr/local/zookeeper-3.3.5/ /usr/local/zookeeper
vim /etc/profile (设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin)
export ZOOKEEPER_HOME="/path/to/zookeeper"
export PATH=$PATH:$ZOOKEEPER_HOME/bin
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg (用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg)
mkdir /tmp/zookeeper
mkdir /var/log/zookeeper
zookeeper的单机安装已经完成了。
第三步,安装zeromq以及jzmq
jzmq的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq。
1)安装zeromq:
wget http://download.zeromq.org/zeromq-2.2.0.tar.gz
tar zxf zeromq-2.2.0.tar.gz
cd zeromq-2.2.0
./configure
make
make install
sudo ldconfig (更新LD_LIBRARY_PATH)
zeromq安装完成。
注意:如有有依赖报错,需要安装:
jzmq dependencies 依赖包
sudo yum install uuid*
sudo yum install libtool
sudo yum install libuuid
sudo yum install libuuid-devel
2)安装jzmq
yum install git
git clone git://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
make install
然后,jzmq就装好了.
注意:在./autogen.sh这步如果报错:autogen.sh:error:could not find libtool is required to run autogen.sh,这是因为缺少了libtool,可以用#yum install libtool*来解决
第四步,安装Storm
wget http://cloud.github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
unzip storm-0.8.1.zip
mv storm-0.8.1 /usr/local/
ln -s /usr/local/storm-0.8.1/ /usr/local/storm
vim /etc/profile
export STORM_HOME=/usr/local/storm-0.8.1
export PATH=$PATH:$STORM_HOME/bin
到此为止单机版的Storm就安装完毕了。
第五步,测试一下本地模式的WordCount
下载storm-starter 编译,并导入eclipse 工程:
1. 下载strom starter的代码 git clone https://github.com/nathanmarz/storm-starter.git
2. 使用mvn -f m2-pom.xml package 进行编译
3. 复制 storm-starter目录下的m2_pom.xml 为pom.xml ,因为eclipse需要pom.xml
4. 使用mvn eclipse:eclipse编译成eclipse工程
5. 在Eclipse 中import 选择storm-starter 的路径,一般导入项目后,会需要设置相应的M2_查看工程是否无误,可能会需要配置M2_REPO变量,
M2_REPO配置方法:工程上右键->Properties->Java Build Path->Libraries->AddVariable->Configure Variable->New
输入Name:M2_REPO , Path:localRepository路径->ok刷新工程,代码无误了,可以进行开发了
6. 编译无误后,现在本地跑storm.starter目录下的WordCountTopology
使用eclipse的export功能导出项目的jar包,便于以后分布式的情况下,提交相应的逻辑
Strom-Starter构建失败,缺少twitter4j包 的解决办法:
修改Storm-Starter的pom文件m2-pom.xml ,修改dependency中twitter4j-core 和 twitter4j-stream两个包的依赖版本,如下:
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>[2.2,)</version>
</dependency>
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-stream</artifactId>
<version>[2.2,)</version>
</dependency>
相关推荐
### Twitter Storm:实时计算系统详解 #### 背景与定义 Twitter Storm 是一款由Apache基金会维护的开源分布式实时计算系统。它最初由BackType公司开发,并于2011年开源,随后被Twitter收购并进一步发展。Storm 的...
基于java的开发源码-开放实时数据处理平台 Twitter Storm.zip 基于java的开发源码-开放实时数据处理平台 Twitter Storm.zip 基于java的开发源码-开放实时数据处理平台 Twitter Storm.zip 基于java的开发源码-开放...
标题"基于Java的实例源码-开放实时数据处理平台 Twitter Storm.zip"揭示了我们讨论的主题是Twitter Storm,一个用于实时数据处理的开源平台,其核心实现是用Java编程语言编写的。这个压缩包包含了Nathan Marz开发的...
开放实时数据处理平台 Twitter Storm
### 分布式与容错实时计算:Twitter Storm详解 #### 引言 随着大数据时代的到来,实时数据处理的需求日益增长。传统的批处理框架如Hadoop虽然在处理大规模静态数据集方面表现出色,但对于无限的数据流处理却显得...
【标题】: "基于Java的开放实时数据处理平台Twitter Storm" 【描述】: Twitter Storm是一个开源的分布式实时计算系统,它允许开发者构建可以处理无界数据流的应用程序。这个技术源自于Twitter,但现在已经成为...
【标题】"基于Java的开放实时数据处理平台Twitter Storm"是一个强大的开源系统,它专为大规模数据流处理而设计。Storm是由Nathan Marz开发的,并在2011年被Twitter收购,随后成为了其核心的数据处理技术之一。这个...
开放实时数据处理平台 Twitter Storm.7z
《Java源码剖析:Twitter Storm实时数据处理平台》 Twitter Storm是一个开源的分布式实时计算系统,它被设计用于处理和汇总大规模的数据流。这个压缩包包含的是Nathan Marz开发的Storm项目的源代码,版本号为9a3e1...
### Storm简介及安装知识点梳理 #### 一、Storm简介 **Storm** 是一款由BackType公司开发的分布式实时计算系统,后被...通过本文介绍的知识点,读者可以对Storm有一个全面的了解,并掌握其安装和配置的基本方法。
在这个过程中,文档《Twitter Storm系列》flume-ng+Kafka+Storm+HDFS 实时系统搭建.docx和《安装扎记.pdf》将提供详细的步骤指导和常见问题解决方案,帮助你顺利完成整个系统的搭建和优化。 总的来说,LNMP与实时大...
最后是Storm的安装,需要搭建Storm集群,配置nimbus、supervisor以及worker节点,同时编写和提交topology来定义实时数据处理逻辑。 在学习和实践这个过程时,你可能需要了解以下几个方面: 1. 分布式系统的基本概念...
《Storm @Twitter》是大数据流处理领域的经典之作,它由Twitter公司的工程师们提出,为实时数据流分析提供了一个强大的平台。这篇论文的原作PPT是学习Storm和流处理技术的重要资源。以下是对Storm核心概念和内部机制...
搭建Storm开发环境需要安装Java运行环境和Apache Storm软件包,并配置相应的环境变量。此外,还需要搭建Zookeeper集群来协调Storm集群的工作。 除了书籍《Getting Started with Storm》之外,还有一些社区和网站...
"开放实时数据处理平台 Twitter Storm源码" 这个标题和描述提到了Twitter Storm,它是一个开源的分布式实时计算系统,专为处理无界数据流而设计。Twitter Storm允许用户创建复杂的数据处理管道,这些管道可以以高...
Twitter的实时数据处理系统Storm是一个基于实时、容错、分布式流数据处理系统。Storm在Twitter中扮演着至关重要的角色,用于在大规模和实时的情况下运行各种关键计算。本文详细介绍了Storm的架构,分布式扩展和容错...
在Storm中,所有配置都是通过YAML格式的配置文件来设置的,通常这个配置文件存放在Storm的安装目录下的conf文件夹中,文件名为storm.yaml。下面详细介绍在Storm配置文件中可以设置的一些核心配置项。 1. storm....
【Storm安装与编程实践】 Storm是一款强大的开源实时计算系统,由Twitter开发并开源,它在实时数据处理领域扮演着与Hadoop在批处理中的角色相似的重要地位。Storm的设计目标是简单、高效、可靠地处理流数据,支持...
7. **安装Storm**:从官方网站下载Storm的最新版本,解压后修改`storm.yaml`配置文件,配置包括Zookeeper地址、 Nimbus服务器地址等。接着设置环境变量,包括STORM_HOME和PATH,最后启动Storm的Nimbus、Supervisor和...