Apache Storm简介及安装
一、环境准备3台虚拟机○ 主机名分别是:L0, L2, L3○ 操作系统:CentOS 6.7○ 已经装有JDK 7○ 已经装有 zookeeper-3.4.10apache-storm-0.9.6.tar.gz二、Storm简介 Apache Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不...
·
一、环境准备
- 3台虚拟机
○ 主机名分别是:L0, L2, L3
○ 操作系统:CentOS 6.7
○ 已经装有JDK 7
○ 已经装有 zookeeper-3.4.10 - apache-storm-0.9.6.tar.gz
二、Storm简介
Apache Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。
Storm主要分为两种组件Nimbus和Supervisor。这两种组件都是快速失败的,没有状态。任务状态和心跳信息等都保存在Zookeeper上的,提交的代码资源都在本地机器的硬盘上。
- Nimbus 负责在集群里面发送代码,分配工作给机器,并且监控状态。全局只有一个。
- Supervisor 会监听分配给它那台机器的工作,根据需要启动/关闭工作进程Worker。每一个要运行Storm的机器上都要部署一个,并且,按照机器的配置设定上面分配的槽位数。
- Zookeeper是Storm重点依赖的外部资源。Nimbus和Supervisor甚至实际运行的Worker都是把心跳保存在Zookeeper上的。Nimbus也是根据Zookeerper上的心跳和任务运行状况,进行调度和任务分配的。
- Topology 处理的最小的消息单位是一个Tuple,也就是一个任意对象的数组。Storm提交运行的程序称为Topology。
- Topology 由Spout和Bolt构成。Spout是发出Tuple的结点。Bolt可以随意订阅某个Spout或者Bolt发出的Tuple。Spout和Bolt都统称为component。
三、storm集群搭建
- 解压
在L0机器中,解压storm到家目录中
tar -zxvf apache-storm-0.9.6.tar.gz -C ~
- 配置Nimbus 、Supervisor
cd ~/apache-storm-0.9.6/conf
vim storm.yaml
storm.yaml中配置以下内容
########### These MUST be filled in for a storm configuration
storm.zookeeper.servers:
- "L0"
- "L2"
- "L3"
#
nimbus.host: "L0"
- 拷贝apache-storm 至L2, L3机器
cd ~
scp -r apache-storm-0.9.6/ L2:~
scp -r apache-storm-0.9.6/ L3:~
- 启动zookeeper集群
三台机器均执行以下命令:
~/zookeeper-3.4.10/bin/zkServer.sh start
- 启动 storm集群
L0机器中执行命令:
cd ~/apache-storm-0.9.6/
bin/storm nimbus >/dev/null 2>&1 &
bin/storm ui >/dev/null 2>&1 &
启动后通过jps查看进程如下:
14991 nimbus
14962 QuorumPeerMain
14685 core
15062 Jps
L2、 L3机器中执行命令:
cd ~/apache-storm-0.9.6/
bin/storm supervisor > /dev/null 2>&1
启动后通过jps查看进程如下:
2747 Jps
2663 supervisor
2483 QuorumPeerMain
- web界面
在L0机器中启动 ui 进程后,可以通过浏览器查看storm状态
地址:http://l0:8080/index.html
更多推荐
已为社区贡献1条内容
所有评论(0)