参考:
[1] http://hi.baidu.com/clockfly/item/f977cad1239bd94fddf9beea
[2] http://blog.csdn.net/jiushuai/article/details/18729367
1. 已有的环境
a. 安装有HDFS文件系统 b. 安装有YARN,且YARN服务已经开启 c. JAVA_HOME
注:本次安装实验是基于hadoop2.2.0的,jdk1.7,因此a,b,c全部满足。
2. Storm on Yarn的安装准备
a. 从GitHub上下载Storm on Yarn wget https://github.com/yahoo/storm-yarn/archive/master.zip b. Unzip master unzip master c. Edit pom.xml,修改Hadoop的版本号,改成对应的版本号
3. Maven安装(使用Maven来build工程)
wget http://mirror.symnds.com/software/Apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz tar –zxvf apache-maven-3.1.1-bin.tar.gz
4. 配置Storm的工作环境
a. 解压缩storm.zip unzip storm.zip b. 添加storm-0.9.0-wip21和storm-yarn-master的bin到Path环境变量 export PATH=${PATH}:${STORM_HOME}/storm-0.9.0-wip21/bin export PATH=${PATH}:${STORM_HOME}/storm-yarn-master/bin c. 添加Storm工程需要的额外Jar包到storm-0.9.0-wip21的lib下,重新压缩成storm.zip文件,上传至HDFS的指定目录中(非常重要,集群中通过访问hdfs中的storm.zip获取工作环境) zip –r storm.zip storm-0.9.0-wip21 hadoop fs –put storm.zip /lib/storm/0.9.0-wip21/
5. 安装并运行Storm
a. 使用maven来build工程 cd storm-yarn-master mvn package b. 修改storm.yaml文件 vi storm-0.9.0-wip21/conf/storm.yaml 注:只修改了zookeeper的servers信息,其余没有改动。
c. 提交运行storm on yarn,并得到一个ApplicationId storm-yarn launch storm.yaml 注:因为storm是作为一个yarn程序运行在集群上的,所以会有一个AppId,如下图所示
d. 存储storm.yaml文件到.storm,这样使用storm命令提交jobs时,会找到该文件
storm-yarn getStormConfig -appId application_1381089732797_0025 -output ~/.storm/storm.yaml e. 通过以下命令得到Nimbus host cat ~/.storm/storm.yaml | grep nimbus.host
6. 测试Storm
a. 提交Topology storm jar lib/storm-starter-0.0.1-SNAPSHOT.jar storm.starter.WordCountTopology WordCountTopology -c nimbus.host=<your nimbus host> b. 监控Topology 查看Storm ui,地址是:http://<your nimbus host>:7070 c. 关闭Topology storm kill [Topology_name] d. 关闭Storm on yarn集群 storm-yarn shutdown –appId [applicationId]