Storm 集群安装配置

安装 Storm 的步骤:

安装 ZooKeeper 集群;
在各个机器上安装运行集群所需要的依赖组件;
下载 Storm 安装程序并解压缩到集群的各个机器上;
在 storm.yaml 中添加集群配置信息;
使用 “storm” 脚本启动各机器后台进程。

安装 ZooKeeper 集群

https://www.jianshu.com/p/c4e07c76c633

安装必要的依赖组件

Java 6(推荐使用 JDK 7 以上版本)
Python 2.6.6(推荐使用 Python 2.7.x 版本 )

Storm 安装程序并解压

下载需要的 Storm 发行版,并将 zip 安装文件解压缩到集群中的各个机器上。
官网地址:http://storm.apache.org/

配置 storm.yaml

Storm 的安装包中包含一个在 conf 目录下的 storm.yaml 文件,该文件是用于配置 Storm 集群的各种属性的。
各项默认配置:https://github.com/apache/storm/blob/master/conf/defaults.yaml
storm.yaml 会覆盖 defaults.yaml 中各个配置项的默认值。以下是几个在安装集群时必须配置的选项:

  1. storm.zookeeper.servers:这是 Storm 关联的 ZooKeeper 集群的地址列表,此项的配置是如下所示:
storm.zookeeper.servers:
     - "192.168.56.10"
     - "192.168.56.11"
     - "192.168.56.12"

注意,如果你使用的 ZooKeeper 集群的端口不是默认端口,你还需要相应地配置 storm.zookeeper.port

storm.zookeeper.port: 2181
  1. storm.local.dir:Nimbus 和 Supervisor 后台进程都需要一个用于存放一些状态数据(比如 jar 包、配置文件等等)的目录。你可以在每个机器上创建好这个目录,赋予相应的读写权限,并将该目录写入配置文件中,如下所示:
storm.local.dir: "/usr/local/storm-1.2.2/data"
  1. nimbus.host:集群的工作节点需要知道集群中的哪台机器是主机,以便从主机上下载拓扑以及配置文件,如下所示:
nimbus.host: "192.168.56.10"
  1. supervisor.slots.ports:你需要通过此配置项配置每个 Supervisor 机器能够运行的工作进程(worker)数。每个 worker 都需要一个单独的端口来接收消息,这个配置项就定义了 worker 可以使用的端口列表。如果你在这里定义了 5 个端口,那么 Storm 就会在该机器上分配最多 5 个worker。如果定义 3 个端口,那 Storm 至多只会运行三个 worker。此项的默认值是 6700、6701、6702、6703 四个端口,如下所示:
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

完整简单配置:

storm.zookeeper.servers:
     - "192.168.56.10"
     - "192.168.56.11"
     - "192.168.56.12"

storm.zookeeper.port: 2181

nimbus.host: "192.168.56.10"

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

storm.local.dir: "/usr/local/storm-1.2.2/data"

配置完成后,将配置文件远程cype到各个节点上。

使用 “storm” 脚本启动后台进程

最后一步是启动所有的 Storm 后台进程。注意,这些进程必须在严格监控下运行。因为 Storm 是个与 ZooKeeper 相似的快速失败系统,其进程很容易被各种异常错误终止。之所以设计成这种模式,是为了确保 Storm 进程可以在任何时刻安全地停止并且在进程重新启动之后恢复征程。这也是 Storm 不在处理过程中保存任何状态的原因 —— 在这种情况下,如果有 Nimbus 或者 Supervisor 重新启动,运行中的拓扑不会受到任何影响。下面是启动后台进程的方法:

  1. Nimbus:在 master 机器上,执行 bin/storm nimbus 命令。
    bin/storm nimbus

  2. Supervisor:在每个工作节点上,执行 bin/storm supervisor 命令。Supervisor 的后台进程主要负责启动/停止该机器上的 worker 进程。
    bin/storm supervisor

  3. UI:在 master 机器上,执行 bin/storm ui 命令启动 Storm UI(Storm UI 是一个可以在浏览器中方便地监控集群与拓扑运行状况的站点)后台进程。可以通过 http://{nimbus.host}:8080 来访问 UI 站点。
    bin/storm ui

你可能感兴趣的:(Storm 集群安装配置)