为了账号安全,请及时绑定邮箱和手机立即绑定

Apache Storm系列 之二( 轻松搞定 Storm 安装与启动)

2018.11.13 13:00 483浏览

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

  • 分布式

  • 实时

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

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

https://img1.mukewang.com/5bea5b7a0001f4be07800410.jpg

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

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

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

  • jdk

  • zookeeper

部署示例

https://img1.mukewang.com/5bea5b9000012fa207960422.jpg

storm部署图

  • 三台主机 mini01 + mini02 + mini03

  • zookeeper 部署在三台主机上

  • mini01 上部署 nimbus 并启动 UI

  • supervisor 部署在 mini02 和 mini03 上

安装

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.6export 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.zookeeper.servers: 配置 zookeeper 的服务节点,因为这里使用 zookeeper 的默认端口(2181),所以 zookeeper 的端口就不需要特别指定

  • storm.local.dir: Nimbus 和 upervisor 需要一个本地目录存放少量状态(例如 Jar 包或者配置文件之类)。用户首先需要创建这个目录。

  • nimbus.seeds:nimbus 节点地址,这里 mini01 主机作为主节点

  • supervisor.slots.ports:配置supervisor,开启几个端口插槽,就开启几个对应的worker进程

  • ui: 设置Storm Web UI 的 http 端口(可选,本文中我们只在 mini01 上配置该属性,因为我们访问的是 mini01: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]# jps4810 QuorumPeerMain5257 core5206 nimbus5410 Jps

mini02 和 mini03 上可以看到 supervisor 进程

[root@mini02 bin]# jps2823 QuorumPeerMain3100 Supervisor3191 Jps

Storm Web UI

访问 mini01:8088


https://img1.mukewang.com/5bea5bb20001d2fb08650370.jpg

Storm UI

Tips

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

  • storm nimbus not a leader

  • java.util.zip.ZipException: Not in GZIP format

  • org.apache.storm.shade.org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode

请确保:

  • 防火墙没有阻止端口,包括 zookeeper 和 storm。

  • zookeeper 正常启动。

  • /etc/hosts 配置正确。

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

  • zookeeper 报错请查看 ZK_HOME/bin/zookeeper.out;

  • nimbus 报错请查看 STORM_HOME/logs/nimbus.log;

  • supervisor 报错请查看 STORM_HOME/logs/supervisor.log



作者:Kooola大数据
链接:https://www.jianshu.com/p/aed40dacd3cf


点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消