本文环境例如以下:
操作系统:CentOS 6 32位
ZooKeeper版本号:3.4.8
Storm版本号:1.0.0
JDK版本号:1.8.0_77 32位
python版本号:2.6.6
集群情况:一个主控节点(Master)和两个工作节点(Slave1,Slave2)
1. 搭建Zookeeper集群
安装參考:CentOS下ZooKeeper单机模式、集群模式安装
2. 在Nimbus和worker机器上安装依赖包
Java 6
Python 2.6.6
以上的版本号是官方说已经有測试能够和Strom正常执行的版本号。本文採用Java 8进行安装。
參考CentOS 6使用rpm方式安装JDK8。
因为CentOS 6已经自带Python 2.6.6,这边就不介绍安装方法了。能够採用python --version
来检查服务器是否安装python。以及相应的版本号。
3. 下载解压最新版的Storm
打开官网下载页面: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
4. 改动配置文件
打开核心配置文件: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集群使用的不是默认port。那么还须要配置storm.zookeeper.port。storm.local.dir
用于配置Storm存储少量文件的路径。
nimbus.seeds
用于配置主控节点的地址,能够配置多个。
5. 复制文件到其余主控节点和工作节点
scp -r apache-storm-1.0.0 root@slave1:/opt
scp -r apache-storm-1.0.0 root@slave2:/opt
6. 启动Storm
Storm集群中包括两类节点:主控节点(Master Node)和工作节点(Work Node)。
其分别相应的角色例如以下:
主控节点(Master Node)上执行一个被称为Nimbus的后台程序,它负责在Storm集群内分发代码,分配任务给工作机器,而且负责监控集群执行状态。
每一个工作节点(Work Node)上执行一个被称为Supervisor的后台程序。Supervisor负责监听从Nimbus分配给它执行的任务,据此启动或停止执行任务的工作进程。
每一个工作进程执行一个Topology的子集;一个执行中的Topology由分布在不同工作节点上的多个工作进程组成。
6.1 启动主控节点
/opt/apache-storm-1.0.0/bin/storm nimbus
6.2 启动工作节点
/opt/apache-storm-1.0.0/bin/storm supervisor
6.3 启动管理页面
在主控节点上执行
/opt/apache-storm-1.0.0/bin/storm ui
说明:须要分别到每一个节点启动服务。管理界面将执行在启动它的服务器的8080port。日志文件在程序文件夹中logs文件夹下。上面的启动方式是在前台执行的,假设须要在后台执行,能够使用相似nohup /opt/apache-storm-1.0.0/bin/storm nimbus &
的方式执行。