storm集群安装配置


一、storm概述

 

对比Hadoop的批处理,Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm同样还具备容错和分布计算这些特性,这就让Storm可以扩展到不同的机器上进行大批量的数据处理。他同样还有以下的这些特性:

  • 易于扩展。对于扩展,你只需要添加机器和改变对应的topology(拓扑)设置。Storm使用Hadoop Zookeeper进行集群协调,这样可以充分的保证大型集群的良好运行。
  • 每条信息的处理都可以得到保证。
  • Storm集群管理简易。
  • Storm的容错机能:一旦topology递交,Storm会一直运行它直到topology被废除或者被关闭。而在执行中出现错误时,也会由Storm重新分配任务。
  • 尽管通常使用Java,Storm中的topology可以用任何语言设计。

当然为了更好的理解文章,你首先需要安装和设置Storm。需要通过以下几个简单的步骤:

  • 从Storm官方下载Storm安装文件
  • 将bin/directory解压到你的PATH上,并保证bin/storm脚本是可执行的。

Storm组件

Storm集群主要由一个主节点和一群工作节点(worker node)组成,通过 Zookeeper进行协调。

主节点:

主节点通常运行一个后台程序 —— Nimbus,用于响应分布在集群中的节点,分配任务和监测故障。这个很类似于Hadoop中的Job Tracker。

工作节点:

工作节点同样会运行一个后台程序 —— Supervisor,用于收听工作指派并基于要求运行工作进程。每个工作节点都是topology中一个子集的实现。而Nimbus和Supervisor之间的协调则通过Zookeeper系统或者集群。

Zookeeper

Zookeeper是完成Supervisor和Nimbus之间协调的服务。而应用程序实现实时的逻辑则被封装进Storm中的“topology”。topology则是一组由Spouts(数据源)和Bolts(数据操作)通过Stream Groupings进行连接的图。下面对出现的术语进行更深刻的解析。

Spout:

简而言之,Spout从来源处读取数据并放入topology。Spout分成可靠和不可靠两种;当Storm接收失败时,可靠的Spout会对tuple(元组,数据项组成的列表)进行重发;而不可靠的Spout不会考虑接收成功与否只发射一次。而Spout中最主要的方法就是nextTuple(),该方法会发射一个新的tuple到topology,如果没有新tuple发射则会简单的返回。

Bolt:

Topology中所有的处理都由Bolt完成。Bolt可以完成任何事,比如:连接的过滤、聚合、访问文件/数据库、等等。Bolt从Spout中接收数据并进行处理,如果遇到复杂流的处理也可能将tuple发送给另一个Bolt进行处理。而Bolt中最重要的方法是execute(),以新的tuple作为参数接收。不管是Spout还是Bolt,如果将tuple发射成多个流,这些流都可以通过declareStream()来声明。

二、规划:

   zookeeper安装参照:http://blog.csdn.net/liangjianyong007/article/details/52895196

      主机名 IP 安装的软件      运行的进程
        hadoop4	192.168.31.40	jdk、zookeeper、storm		QuorumPeerMain、nimbus
	hadoop5	192.168.31.50	jdk、zookeeper、storm		QuorumPeerMain、supervisor
	hadoop6	192.168.31.60	jdk、zookeeper、storm		QuorumPeerMain、supervisor
、安装

   1.  上传storm的安装包,解压,配置环境变量

      

      sudo tar -zxvf  apache-storm-0.9.2-incubating.tar.gz  /usr/cloud/storm/apache-storm-0.9.2-incubating
      mv  /usr/cloud/storm/apache-storm-0.9.2-incubating   /usr/cloud/storm/apache-storm-0.9.2
      vim /etc/profile
       export JAVA_HOME=/usr/cloud/java/jdk1.6.0_24
       export ZK_HOME=/usr/cloud/zookeeper/zookeeper-3.4.5
       export STORM_HOME=/usr/cloud/storm/apache-storm-0.9.2
       export PATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin:$STORM_HOME/bin
        source /etc/profile
  2.修改配置文件storm.yaml

     

#所使用的zookeeper集群主机
storm.zookeeper.servers:
     - "hadoop4"
     - "hadoop5"
     - "hadoop6"

#nimbus所在的主机名
nimbus.host: "hadoop4"

supervisor.slots.ports
-6701
-6702
-6703
-6704
-6705

3.启动storm

   

#在nimbus主机上(hadoop4)
nohup ./storm nimbus 1>/dev/null 2>&1 &
#web 服务启动
nohup ./storm ui 1>/dev/null 2>&1 &
#页面检查启动情况:
http://hadoop4:8080

#在supervisor主机上(hadoop5、hadoop6)
nohup ./storm supervisor 1>/dev/null 2>&1 &

4. 提交执行storm程序

 storm jar xx.jar xx.xx.mainclass



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值