标签:
本文环境如下:
操作系统:CentOS 6 32位
ZooKeeper版本:3.4.8
Storm版本:1.0.0
JDK版本:1.8.0_77 32位
python版本:2.6.6
集群情况:一个主控节点(Master)和两个工作节点(Slave1,Slave2)
安装参考:CentOS下ZooKeeper单机模式、集群模式安装
Java 6
Python 2.6.6
以上的版本是官方说已经有测试可以和Strom正常运行的版本,本文采用Java 8进行安装。
参考CentOS 6使用rpm方式安装JDK8。
由于CentOS 6已经自带Python 2.6.6,这边就不介绍安装方法了。可以采用python --version
来检查服务器是否安装python,以及对应的版本。
打开官网下载页面:http://storm.apache.org/downloads.html
选择适合的版本进行下载。
wget "http://apache.opencas.org/storm/apache-storm-1.0.0/apache-storm-1.0.0.tar.gz"
tar -xzvf apache-storm-1.0.0.tar.gz
mv apache-storm-1.0.0 /opt
打开核心配置文件:storm.yaml
cd /opt/apache-storm-1.0.0/conf
vi storm.yaml
至少完成以下3处的配置,笔者的配置文件:
storm.zookeeper.servers:
- "master"
- "slave1"
- "slave2"
storm.local.dir: "/opt/apache-storm-1.0.0/data"
nimbus.seeds: ["master"]
其中storm.zookeeper.servers
,表示Zookeeper集群地址。如果Zookeeper集群使用的不是默认端口,那么还需要配置storm.zookeeper.port。storm.local.dir
用于配置Storm存储少量文件的路径。nimbus.seeds
用于配置主控节点的地址,可以配置多个。
scp -r apache-storm-1.0.0 root@slave1:/opt
scp -r apache-storm-1.0.0 root@slave2:/opt
Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node)。其分别对应的角色如下:
主控节点(Master Node)上运行一个被称为Nimbus的后台程序,它负责在Storm集群内分发代码,分配任务给工作机器,并且负责监控集群运行状态。
每个工作节点(Work Node)上运行一个被称为Supervisor的后台程序。Supervisor负责监听从Nimbus分配给它执行的任务,据此启动或停止执行任务的工作进程。每一个工作进程执行一个Topology的子集;一个运行中的Topology由分布在不同工作节点上的多个工作进程组成。
/opt/apache-storm-1.0.0/bin/storm nimbus
/opt/apache-storm-1.0.0/bin/storm supervisor
在主控节点上运行
/opt/apache-storm-1.0.0/bin/storm ui
说明:需要分别到每个节点启动服务。管理界面将运行在启动它的服务器的8080端口,日志文件在程序目录中logs文件夹下。上面的启动方式是在前台运行的,如果需要在后台运行,可以使用类似nohup /opt/apache-storm-1.0.0/bin/storm nimbus &
的方式运行。
标签:
原文地址:http://blog.csdn.net/lnho2015/article/details/51143726