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

    科技2025-01-25  33

    一.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" 启动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,PythonZookeeperNimbusSupervisor192.168.100.21node21Jdk,PythonZookeeperNimbus 192.168.100.22node22Jdk,PythonZookeeper Supervisor192.168.100.23node23Jdk,PythonZookeeper 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集群中的主机列表。

    2)storm.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 脚本名称

    Processed: 0.011, SQL: 8