storm单机版和集群版安装配置过程
2015-04-22 12:14
543 查看
从2012年11月开始,研究和学习storm有三个月,觉得storm
是一个非常使用的工具,下面记录下心得以 共享。(单机版)本身使用closure编写,配置文件使用yaml,连README文件都用Markdown写。整个一反Haoop的Java+XML+HTML这些传统技术。安装Storm之前要先安装下面几个软件。一、准备工作1、安装zeromq。
在./configure 的过程中,可能会出现找不到组件,执行以下命令安装必要的组件就行了:
2、安装jzmq。
二、部署zookeeper首先配置zookeeper,如果你的电脑还么有zookeeper
,先安装。配置zookeeper时,注意zoo.cfg注意下面几个参数。改好zoo.cfg文件后,记得在dataDir
= /opt/zookeeper目录下创建myid文件,从1开始,每个服务器加1就行。Storm运行起来之后,可以在zookeeper上看到很多Storm相关的数据。注意如果zookeeper的clientPort不是默认的2181,就要配置storm.zookeeper.port。将zookeerper解压到/usr/local/
然后 export
PATH=$PATH:/usr/local/zookeeper-3.4.5/bin然后 vi
/usr/local/zookeeper-3.4.5/conf/zoo.cfg
三、 安装部署storm 去github上下载0.9.0版,为了简单就直接使用二进制版本吧。将storm解压到/usr/local/
然后vi
~/.storm/storm.yaml
接着启动zkServer
nimbus,supervisor和ui几个服务:
通过http://UI_Server:8080可以打开Storm Web
UI看看Storm集群的状态。这时候还没有topology,需要提交一个。例如本文
UI 172.16.0.235:18080。地址 在浏览器中输入地址
172.16.0.235:18080查看storm运行状态。在命令窗口输入: jps 可以查看各个进程的运行状态:
上图中:1882 core 对应的进程是Storm UI341 Jps 对应的进程是Java jps1880 nimbus 对应的进程是Storm nimbus18450 supervisor 对应的进程是Storm supervisor27380 worker 对应的线程是Storm main函数里面设置的 conf.setNumWorkers(15),所以本例中有15个worker。2112 QuorumPeerMain 对应的进程是zkServer.sh其中在nimbus上nimbus、 core和 QuorumPeerMain
这三个进程必须启动,如果启动失败,需要研究一下日志中失败的原因,按照上述的顺序再启动一次。否则
会导致下一步的topology提交失败,切记。
四、测试Storm去github上下载storm-starter,这个项目中有一些Storm的例子程序,其中包括wordcount这个经典的Hadoop
M/R例子。如果不想安装lein,可以使用下面这个命令直接使用maven编译storm-starter。maven会去取项目依赖的jar包,通过输出可以看到都是取的storm-0.9.0rc的pom和jar包,所以它只能在storm-0.9.0rc环境中使用。在0.7.0上一直运行不成功,才意识到这个问题。
使用下面这个命令运行wordcount例子。命令是没错的,但是会提示找不到nimbus服务器,原来是由于Storm的CONF_DIR指定有错误,它会去.storm里面找storm.yaml这个文件,其实这个目录是不存在的。需要编辑bin/storm文件,将CONF_DIR指向正确的目录。这个问题的答案是从Twitter-Storm的部署 找到的。
storm会提示你topology提交成功。在浏览器中输入地址
172.16.0.235:18080查看storm运行状态。
运行wordcount之后发现居然没有输出,一点头绪都没有。今天上午在南南的提醒下,改了改WordCountTopology.java文件的WordCount::execute方法,添加一句“System.out.println(tuple);”,这样会在$STORM_HOME/logs目录下产生很多worker-6700.log这个文件,里面便是worker的输出。如果要部署一个新版本的topology,需要kill掉原来的topology。
(集群版)将一台电脑的storm安装好之后,在其他节点上安装 zeromq
jmzq,然后将这台nimbus电脑的 zookeeper 和storm文件夹 复制到
其他的电脑对应的文件夹下。就可以以下命令来启动从属节点上的storm:
需要注意的是:其他电脑/opt/zookeeper/myid 文件里的数字要和zoo.cfg文件里server编号对应。zoo.cfg文件里: server.1=172.16.0.235:4887:5887
#第一个节点地址
server.2=172.16.0.233:4887:5887 #第二个节点地址
参考博文:storm实战:深圳市实时路况分析和实时路径推荐系统storm的开发环境部署配置教程 storm单机版和集群版安装配置过程
缺少twitter4j依赖包的解决办法
基于storm的实时GPS数据客流特征分析系统 源码分析之(一)
基于storm的实时GPS数据客流特征分析系统 源码分析之(二)
附上一张我的 UI 以及 topology 运行情况:
一个节点的storm 每分钟可以接受并处理7万条GPS 记录。
是一个非常使用的工具,下面记录下心得以 共享。(单机版)本身使用closure编写,配置文件使用yaml,连README文件都用Markdown写。整个一反Haoop的Java+XML+HTML这些传统技术。安装Storm之前要先安装下面几个软件。一、准备工作1、安装zeromq。
wget http://download.zeromq.org/historic/zeromq-2.1.9.zip[/code]unzip zeromq-2.1.9.zip&& cd zeromq-2.1.9&&./configure && make -j && sudo makeinstall |
sudo apt-get install gcc g++ make automake uuid-devel libtool |
wget https://nodeload.github.com/nathanmarz/jzmq/zipball/master[/code] unzip nathanmarz-jzmq-dd3327d.zip && cd nathanmarz-jzmq-dd3327d &&./autogen.sh |
,先安装。配置zookeeper时,注意zoo.cfg注意下面几个参数。改好zoo.cfg文件后,记得在dataDir
= /opt/zookeeper目录下创建myid文件,从1开始,每个服务器加1就行。Storm运行起来之后,可以在zookeeper上看到很多Storm相关的数据。注意如果zookeeper的clientPort不是默认的2181,就要配置storm.zookeeper.port。将zookeerper解压到/usr/local/
然后 export
PATH=$PATH:/usr/local/zookeeper-3.4.5/bin然后 vi
/usr/local/zookeeper-3.4.5/conf/zoo.cfg
dataDir=/opt/zookeeper # the port at which the clients will connect clientPort=2181 server.1=172.16.0.235:4887:5887 |
然后vi
~/.storm/storm.yaml
storm.zookeeper.servers: - "172.16.0.235" - "172.16.0.233" nimbus.host:"172.16.0.235" storm.local.dir:"/opt/storm" ui.port: "18080" supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703 - 6704 - 6705 # 注:根据你的cpu的能力 可以多几个端口,每一个端口对应storm一个slot,可以运行storm的一个bolt |
nimbus,supervisor和ui几个服务:
zkServer.sh start zkServer.sh status #查看zkserver是否成功启动 storm nimbus& storm supervisor& storm ui& |
UI看看Storm集群的状态。这时候还没有topology,需要提交一个。例如本文
UI 172.16.0.235:18080。地址 在浏览器中输入地址
172.16.0.235:18080查看storm运行状态。在命令窗口输入: jps 可以查看各个进程的运行状态:
上图中:1882 core 对应的进程是Storm UI341 Jps 对应的进程是Java jps1880 nimbus 对应的进程是Storm nimbus18450 supervisor 对应的进程是Storm supervisor27380 worker 对应的线程是Storm main函数里面设置的 conf.setNumWorkers(15),所以本例中有15个worker。2112 QuorumPeerMain 对应的进程是zkServer.sh其中在nimbus上nimbus、 core和 QuorumPeerMain
这三个进程必须启动,如果启动失败,需要研究一下日志中失败的原因,按照上述的顺序再启动一次。否则
会导致下一步的topology提交失败,切记。
四、测试Storm去github上下载storm-starter,这个项目中有一些Storm的例子程序,其中包括wordcount这个经典的Hadoop
M/R例子。如果不想安装lein,可以使用下面这个命令直接使用maven编译storm-starter。maven会去取项目依赖的jar包,通过输出可以看到都是取的storm-0.9.0rc的pom和jar包,所以它只能在storm-0.9.0rc环境中使用。在0.7.0上一直运行不成功,才意识到这个问题。
mvn -f m2-pom.xml package |
./storm jar storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar storm.starter.WordCountTopology wordcountTop |
172.16.0.235:18080查看storm运行状态。
运行wordcount之后发现居然没有输出,一点头绪都没有。今天上午在南南的提醒下,改了改WordCountTopology.java文件的WordCount::execute方法,添加一句“System.out.println(tuple);”,这样会在$STORM_HOME/logs目录下产生很多worker-6700.log这个文件,里面便是worker的输出。如果要部署一个新版本的topology,需要kill掉原来的topology。
(集群版)将一台电脑的storm安装好之后,在其他节点上安装 zeromq
jmzq,然后将这台nimbus电脑的 zookeeper 和storm文件夹 复制到
其他的电脑对应的文件夹下。就可以以下命令来启动从属节点上的storm:
zkServer.sh start zkServer.sh status #查看zkserver是否成功启动 storm supervisor& storm ui& |
#第一个节点地址
server.2=172.16.0.233:4887:5887 #第二个节点地址
参考博文:storm实战:深圳市实时路况分析和实时路径推荐系统storm的开发环境部署配置教程 storm单机版和集群版安装配置过程
缺少twitter4j依赖包的解决办法
基于storm的实时GPS数据客流特征分析系统 源码分析之(一)
基于storm的实时GPS数据客流特征分析系统 源码分析之(二)
附上一张我的 UI 以及 topology 运行情况:
一个节点的storm 每分钟可以接受并处理7万条GPS 记录。
相关文章推荐
- storm单机版和集群版安装配置过程
- Storm单机版的安装与配置
- ubuntu14.04LTS 下storm单机版安装配置
- Storm系列(一)集群的安装配置
- Ubuntu安装rabbitMQ及单机版rabbitMQ集群配置
- storm集群部署和配置过程详解
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~) .
- storm集群安装配置
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
- Storm 集群的安装与配置
- storm集群部署和配置过程详解
- [置顶] CentOS7.0安装配置Storm集群
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~
- Storm-1.1.0集群的安装和配置
- terracotta安装配置与集群过程
- storm集群部署和配置过程详解
- redis集群配置安装的过程常见问题![ERR] Sorry, can't connect to node cdh5:6379
- Twitter Storm安装配置(集群)笔记
- storm集群安装过程
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程