返回顶部 Fork me on GitHub

Storm(二)CentOS7.5搭建Storm1.2.2集群

一.Storm的下载

官网下载地址:http://storm.apache.org/downloads.html

这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载

二.Storm伪分布式安装

1.环境准备

JDK 1.7+             验证: java -version
Python 2.6.6+      验证:python -V

2.解压安装包

[admin@node21 software]$ tar zxvf apache-storm-1.2.2.tar.gz -C /opt/module/

3.创建logs文件目录

[admin@node21 software]$ cd /opt/module/apache-storm-1.2.2
[admin@node21 apache-storm-1.2.2]$ mkdir logs

4.启动storm

  • 查看帮助
[admin@node21 apache-storm-1.2.2]$ ./bin/storm help

帮助如下

[admin@node21 storm-1.2.2]$ ./bin/storm help
Commands:
    activate
    blobstore
    classpath
    deactivate
    dev-zookeeper
    drpc
    get-errors
    heartbeats
    help
    jar
    kill
    kill_workers
    list
    localconfvalue
    logviewer
    monitor
    nimbus
    node-health-check
    pacemaker
    rebalance
    remoteconfvalue
    repl
    set_log_level
    shell
    sql
    supervisor
    ui
    upload-credentials
    version

Help: 
    help 
    help <command>

Documentation for the storm client can be found at http://storm.apache.org/documentation/Command-line-client.html

Configs can be overridden using one or more -c flags, e.g. "storm list -c nimbus.host=nimbus.mycompany.com"
View Code
  • 启动Zookeeper
[admin@node21 apache-storm-1.2.2]$ ./bin/storm dev-zookeeper >> ./logs/zk.out 2>&1 &
  • 启动Nimbus
[admin@node21 apache-storm-1.2.2]$ ./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
  • 启动Storm UI
[admin@node21 apache-storm-1.2.2]$ ./bin/storm ui >> ./logs/ui.out 2>&1 &
  • 启动Supervisor
[admin@node21 apache-storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
  • 启动Logviewer
[admin@node21 apache-storm-1.2.2]$ ./bin/storm logviewer ./logs/logviewer.out 2>&1 &

5.查看进程

 

6.WebUI查看

WebUI查看地址:http://node21:8080/

三.Storm分布式集群安装

官网集群配置文档:http://storm.apache.org/releases/1.2.2/Setting-up-a-Storm-cluster.html

1.集群部署

IP 节点名称 Jdk,Python Zookeeper Nimbus Supervisor
192.168.100.21 node21 Jdk,Python Zookeeper Nimbus  
192.168.100.22 node22 Jdk,Python Zookeeper   Supervisor
192.168.100.23 node23 Jdk,Python Zookeeper   Supervisor

Zookeeper集群安装参考: CentOS7.5搭建Zookeeper3.4.12集群与命令行操作

2.安装环境解压安装包

[admin@node21 software]$ tar zxvf apache-storm-1.2.2.tar.gz -C /opt/module/
[admin@node21 software]$ cd /opt/module/
[admin@node21 module]$ mv apache-storm-1.2.2/ storm-1.2.2
[admin@node21 module]$ cd storm-1.2.2
[admin@node21 storm-1.2.2]$ mkdir logs

3.修改yaml配置文件

[admin@node21 storm-1.2.2]$ vi conf/storm.yaml 

1)storm.zookeeper.servers:这是Storm集群的Zookeeper集群中的主机列表。

2storm.local.dir:Nimbus和Supervisor守护进程需要本地磁盘上的目录来存储少量状态(如jar,confs和类似的东西)。您应该在每台计算机上创建该目录,为其提供适当的权限,然后使用此配置填写目录位置。

3)nimbus.seeds:工作节点需要知道哪些机器是主机的候选者才能下载拓扑罐和confs。

4)supervisor.slots.ports:对于每个工作者计算机,您可以使用此配置配置在该计算机上运行的工作程序数。每个工作人员使用单个端口接收消息,此设置定义哪些端口可以使用。如果您在此处定义了五个端口,那么Storm将分配最多五个工作人员在此计算机上运行。如果定义三个端口,Storm最多只能运行三个端口。默认情况下,此设置配置为在端口6700,6701,6702和6703上运行4个工作程序。

4.分发Storm到其他节点

[admin@node21 module]$ scp -r storm-1.2.2/ node22:`pwd`
[admin@node21 module]$ scp -r storm-1.2.2/ node23:`pwd`

5.配置环境变量

[admin@node21 module]$ sudo vi /etc/profile
export STORM_HOME=/opt/module/storm-1.2.2
export PATH=$PATH:$STORM_HOME/bin
[admin@node21 module]$ source /etc/profile

6.启动集群

  • 启动zookeeper集群,各个节点执行
$ zkServer.sh start
  • 启动storm集群

node21上启动Nimbus,启动webUI

[admin@node21 storm-1.2.2]$ ./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &
[admin@node21 storm-1.2.2]$ ./bin/storm ui >> ./logs/ui.out 2>&1 &

node22和node23启动supervisor,按照配置,每启动一个supervisor就有了4个slots

[admin@node22 storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &
[admin@node23 storm-1.2.2]$ ./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &

7.查看进程

8.查看WebUI

WebUI查看地址:http://node21:8080/

9.编写storm服务脚本

node21上   start-stormCluster.sh

#!/bin/bash
echo  "********************     正在启动nimbus服务     *******************"
ssh   admin@node21 '/opt/module/storm-1.2.2/bin/storm nimbus >> /opt/module/storm-1.2.2/logs/nimbus.out 2>&1 &'
echo  "*********************    正在启动webUi服务   ******************"
ssh   admin@node21 '/opt/module/storm-1.2.2/bin/storm ui >> /opt/module/storm-1.2.2/logs/ui.out 2>&1 &'
echo  "********************     正在启动supervisor服务     *******************"
ssh   admin@node22 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
ssh   admin@node23 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
echo  "******************      服务启动成功      *******************"*

给脚本赋权限 :chmod +x 脚本名称

四.故障排除

参考文档:http://storm.apache.org/releases/1.2.2/Troubleshooting.html

posted @ 2018-09-02 22:05  Frankdeng  阅读(1711)  评论(0编辑  收藏  举报