换下风格^_^

Storm on YARN平台搭建

Storm admin 2038℃ 0评论

1.相关知识

(1)Storm:一个实时计算框架,与MapReduce离线计算框架互补,分别用于解决不同场景下的问题,Storm的官方网站是:http://storm-project.net/,如果想快速了解,推荐阅读淘宝的这篇文章:Storm简介
(2)YARN:YARN是Hadoop 2.0中新引入的资源管理系统,可看做Hadoop操作系统中的资源管理组件,所有应用程序和框架,比如MapReduce、Storm和Spark等,均可运行在YARN之上。
(3)Storm On YARN:尝试将Storm运行在YARN上,这将来众多好处。Storm On YARN最有名是Yahoo!的开源实现,具体参考:Storm On YARN

2.环境准备

本文的重心是在YARN搭建Storm。搭建之前需要如下环境:

  • Maven
  • Jdk 7
  • Hadoop 2.2.0 或者支持YARN的相关版本
  • Zookeeper

以上的Maven和jdk的安装略
Zookeeper安装见,由于我是单节点安装的,因此只需要直接启动zkServer.sh
Hadoop安装见:Hadoop2.2.0 单机开发环境搭建测试CDH4的YARN配置笔记。安装完后启动HDFS和YARN服务。

3.Storm on Yarn配置部署

(1) 下载Storm-yarn

a.GitHub上下载Storm on Yarn
wget https://github.com/yahoo/storm-yarn/archive/master.zip
b.解压
unzip master
c.修改hadoop版本
vim storm-yarn-master/pom.xml,修改Hadoop的版本号,改成对应的版本号


        0.9.0-wip21

        2.2.0

        <!--hadoop.version>2.1.0.2.0.5.0-67</hadoop.version-->

(2) Storm-yarn编译

a.使用maven来build工程
cd storm-yarn-master

b.编译
mvn package
跳过测试:mvn package -DskipTests

(3) 配置Storm工作环境

a.  解压缩storm.zip
unzip $STORM_HOME/lib/storm.zip

b.  添加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/

c.  添加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}/bin

d.修改storm的配置
修改文件storm.yaml
vi storm-0.9.0-wip21/conf/storm.yaml
注:只修改了zookeeper的servers信息,添加zookeeper节点的host 其余没有改动。

storm.zookeeper.servers:
    - "h1"
    - "h2"
    - "h3"

启动Storm-YARN环境

a. 提交运行storm on yarn,并得到一个ApplicationId
storm-yarn launch storm.yaml
注:因为storm是作为一个yarn程序运行在集群上的,所以会有一个AppId,如下图所示

Storm On Yarn  启动

Storm On Yarn 启动

b. 存储storm.yaml文件到.storm,这样使用storm命令提交jobs时,会找到该文件
torm-yarn getStormConfig -appId application_1381089732797_0025 -output ~/.storm/storm.yaml
c. 通过以下命令得到Nimbus host
cat ~/.storm/storm.yaml | grep nimbus.host

测试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]

Storm UI 图示

Storm UI 图示

关闭Storm on yarn集群
storm-yarn shutdown –appId [applicationId]

参考:http://xumingming.sinaapp.com/category/storm/

转载请注明:极豆技术博客 » Storm on YARN平台搭建

喜欢 (0)
捐助本站极豆博客全站无广告。如果您觉得本博客的内容对您小有帮助,可以对我小额赞助,您的赞助将用于维持博客运营。

极豆博客

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 您好,我看装的storm-on-yarn,那个Supervisor的数量是0,我现在也是这个问题,想请问一下,你后来解决了吗
    sunwei2014-05-22 18:21 回复
    • 不好意思,我现在没用storm了。在弄spark streaming
      admin2015-05-25 16:26 回复
    • 你好,我也碰见这个问题了,直接在 节点 上 storm superviosr 是能够启动的,但是 storm on yarn 的时候,跟你遇到的情况一样,你解决了么?
      sam2015-08-05 17:48 回复
  2. strom工程可以打包吗?
    小莉爱美2015-03-09 23:08 回复