Apache Storm系列 之二( Storm 安装与启动)

Storm 152 浏览


Storm 是开源免费的分布实时计算系统(Apache Storm is a free and open source distributed realtime computation system)。这里提到了两个关键词:

1、分布式意味着 Storm 是部署在多台主机上,它解决并发性(多机资源同时作业)以及可用性(一台主机出现问题,计算任务移交到其他机器)问题

分布式自然而然让我们联想到了需要一个协调服务,这里提到的就是 zookeeper。zookeeper 用于协调 Nimbus、Supervisor。

2、实时则区别于 Mapreduce 的批处理

至于如何从原理上理解 Storm 的特性,我会在后面的文章中具体介绍。本文则简单介绍如何安装以及启动 Storm, 先将其完整的运作起来能够帮助我们理解以及建立信心。这里为什么说是简单介绍呢,因为安装并启动一个 Storm 运行环境确实很简单。

安装 Storm 之前请确保你已经安装好:

  • jdk
  • zookeeper

部署示例

storm部署图

安装

zookeeper 集群安装

参见 zookeeper 集群安装配置 ,当然你可以安装单节点的 zookeeper

storm 安装 & 配置

下载解压

访问官网,下载你需要的版本,本文使用的是 1.0.6 版本(apache-storm-1.0.6.tar.gz)。 将 apache-storm-1.0.6.tar.gz 拷贝到三台主机上并解压。

cd /home/app
tar -zxvf apache-storm-1.0.6.tar.gz

增加 Storm 环境变量

修改/etc/profile,将 Storm 加入环境变量

vim /etc/profile

/etc/profile 文件如下

export STORM_HOME=/home/app/apache-storm-1.0.6
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$STORM_HOME/bin:$PATH

生效/etc/profile

source /etc/profile

修改 Storm 配置文件

cd apache-storm-1.0.6/conf
vim storm.yaml

配置每台主机上的 storm.yaml 文件,配置内容如下

storm.zookeeper.servers:
        - "mini01"
        - "mini02"
        - "mini03"

storm.local.dir: "/home/app/apache-storm-1.0.6/data"

nimbus.seeds: ["mini01"]

supervisor.slots.ports:
        - 6700
ui: 8088

其中:

特别注意,配置项冒号后面需要接一个空格

这里只列出了几个能保证服务正常运行的配置项,Storm 提供了很多其他配置项,感兴趣的可以看看 Storm 配置文件源码

启动

mini01 上 启动 nimbus 以及 Storm UI

nohup storm nimbus &
nohup storm ui &

mini02 和 mini03 上启动 supervisor

nohup storm supervisor &

验证

jps

mini01 上可以看到 zookeeper(QuorumPeerMain) 以及 nimnus 进程

[root@mini01 5257]# jps
4810 QuorumPeerMain
5257 core
5206 nimbus
5410 Jps

mini02 和 mini03 上可以看到 supervisor 进程

[root@mini02 bin]# jps
2823 QuorumPeerMain
3100 Supervisor
3191 Jps

Storm Web UI

访问 mini01:8088 Storm UI

Tips

在安装启动时可能会有一些报错(例如下面):

请确保:

不能正常运行,查看如下几个日志,对症下药即可:

关注微信公众号 "Kooola大数据" :) 聊人生 | 聊技术