CentOS下Storm 1.0.0集群安装详解

来源:互联网 发布:csgo淘宝买饰品 编辑:程序博客网 时间:2024/05/21 08:03

本文环境如下:
操作系统: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.gzmv apache-storm-1.0.0 /opt

4. 修改配置文件

打开核心配置文件:storm.yaml

cd /opt/apache-storm-1.0.0/confvi 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用于配置主控节点的地址,可以配置多个。

5. 拷贝文件到其余主控节点和工作节点

scp -r apache-storm-1.0.0 root@slave1:/optscp -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

说明:需要分别到每个节点启动服务。管理界面将运行在启动它的服务器的8080端口,日志文件在程序目录中logs文件夹下。上面的启动方式是在前台运行的,如果需要在后台运行,可以使用类似nohup /opt/apache-storm-1.0.0/bin/storm nimbus &的方式运行。

3 0