Storm—Storm集群搭建

3.1 环境准备

3.1.1 集群规划

hadoop102                                  hadoop103                           hadoop104

zk                                              zk                                       zk

storm                                         storm                                  storm

3.1.2 jar包下载

       (1)官方网址:http://storm.apache.org/

       (2)安装集群步骤:

http://storm.apache.org/releases/1.1.0/Setting-up-a-Storm-cluster.html

3.1.3 虚拟机准备

1)准备3台虚拟机

2)配置ip地址

  

3)配置主机名称

4)3台主机分别关闭防火墙

[root@hadoop102 atguigu]# chkconfig iptables off

[root@hadoop103 atguigu]# chkconfig iptables off

[root@hadoop104 atguigu]# chkconfig iptables off

3.1.4 安装jdk

      

3.1.5 安装Zookeeper

0)集群规划

在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。

1)解压安装

(1)解压zookeeper安装包到/opt/module/目录下

[atguigu@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/

(2)在/opt/module/zookeeper-3.4.10/这个目录下创建zkData

       mkdir -p zkData

(3)重命名/opt/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg

       mv zoo_sample.cfg zoo.cfg

2)配置zoo.cfg文件

       (1)具体配置

       dataDir=/opt/module/zookeeper-3.4.10/zkData

       增加如下配置

       #######################cluster##########################

server.2=hadoop102:2888:3888

server.3=hadoop103:2888:3888

server.4=hadoop104:2888:3888

(2)配置参数解读

Server.A=B:C:D。

A是一个数字,表示这个是第几号服务器;

B是这个服务器的ip地址;

C是这个服务器与集群中的Leader服务器交换信息的端口;

D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。

3)集群操作

(1)在/opt/module/zookeeper-3.4.10/zkData目录下创建一个myid的文件

       touch myid

添加myid文件,注意一定要在linux里面创建,在notepad++里面很可能乱码

(2)编辑myid文件

       vi myid

       在文件中添加与server对应的编号:如2

(3)拷贝配置好的zookeeper到其他机器上

       scp -r zookeeper-3.4.10/ root@hadoop103.atguigu.com:/opt/app/

       scp -r zookeeper-3.4.10/ root@hadoop104.atguigu.com:/opt/app/

       并分别修改myid文件中内容为3、4

(4)分别启动zookeeper

       [root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh start

[root@hadoop103 zookeeper-3.4.10]# bin/zkServer.sh start

[root@hadoop104 zookeeper-3.4.10]# bin/zkServer.sh start

(5)查看状态

[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: follower

[root@hadoop103 zookeeper-3.4.10]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: leader

[root@hadoop104 zookeeper-3.4.5]# bin/zkServer.sh status

JMX enabled by default

Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: follower

3.2 Storm集群部署

3.2.1 配置集群

1)拷贝jar包到hadoop102的/opt/software目录下

2)解压jar包到/opt/module目录下

[atguigu@hadoop102 software]$ tar -zxvf apache-storm-1.1.0.tar.gz -C /opt/module/

3)修改解压后的apache-storm-1.1.0.tar.gz文件名称为storm

[atguigu@hadoop102 module]$ mv apache-storm-1.1.0/ storm

4)在/opt/module/storm/目录下创建data文件夹

       [atguigu@hadoop102 storm]$ mkdir data

5)修改配置文件

[atguigu@hadoop102 conf]$ pwd

/opt/module/storm/conf

[atguigu@hadoop102 conf]$ vi storm.yaml

# 设置Zookeeper的主机名称

storm.zookeeper.servers:

     - "hadoop102"

     - "hadoop103"

     - "hadoop104"

# 设置主节点的主机名称

nimbus.seeds: ["hadoop102"]

# 设置Storm的数据存储路径

storm.local.dir: "/opt/module/storm/data"

# 设置Worker的端口号

supervisor.slots.ports:

    - 6700

    - 6701

    - 6702

    - 6703

6)配置环境变量

[root@hadoop102 storm]# vi /etc/profile

#STORM_HOME

export STORM_HOME=/opt/module/storm

export PATH=$PATH:$STORM_HOME/bin

[root@hadoop102 storm]# source /etc/profile

7)分发配置好的Storm安装包

[atguigu@hadoop102 storm]$ xsync storm/

8)启动集群

(1)后台启动nimbus

       [atguigu@hadoop102 storm]$ bin/storm nimbus &

[atguigu@hadoop103 storm]$ bin/storm nimbus &

[atguigu@hadoop104 storm]$ bin/storm nimbus &

(2)后台启动supervisor

       [atguigu@hadoop102 storm]$ bin/storm supervisor &

[atguigu@hadoop102 storm]$ bin/storm supervisor &

[atguigu@hadoop102 storm]$ bin/storm supervisor &

(3)启动Storm ui

[atguigu@hadoop102 storm]$ bin/storm ui

9)通过浏览器查看集群状态

http://hadoop102:8080/index.html

3.2.2 Storm日志信息查看

1)查看nimbus的日志信息

在nimbus的服务器上

cd /opt/module/storm/logs

tail -100f /opt/module/storm/logs/nimbus.log

2)查看ui运行日志信息

在ui的服务器上,一般和nimbus一个服务器

cd /opt/module/storm/logs

tail -100f /opt/module/storm/logs/ui.log

3)查看supervisor运行日志信息

在supervisor服务上

cd /opt/module/storm/logs

tail -100f /opt/module/storm/logs/supervisor.log

4)查看supervisor上worker运行日志信息

在supervisor服务上

cd /opt/module/storm/logs

tail -100f /opt/module/storm/logs/worker-6702.log

5)logviewer,可以在web页面点击相应的端口号即可查看日志

分别在supervisor节点上执行:

[atguigu@hadoop102 storm]$ bin/storm logviewer &

[atguigu@hadoop103 storm]$ bin/storm logviewer &

[atguigu@hadoop104 storm]$ bin/storm logviewer &

3.2.3 Storm命令行操作

1)nimbus:启动nimbus守护进程

       storm nimbus

2)supervisor:启动supervisor守护进程

       storm supervisor

3)ui:启动UI守护进程。

       storm ui

4)list:列出正在运行的拓扑及其状态

       storm list

5)logviewer:Logviewer提供一个web接口查看Storm日志文件。

       storm logviewer

6)jar:

storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】

7)kill:杀死名为Topology-name的拓扑

       storm kill topology-name [-w wait-time-secs]

       -w:等待多久后杀死拓扑

8)active:激活指定的拓扑spout。

storm activate topology-name

9)deactivate:禁用指定的拓扑Spout。

       storm deactivate topology-name

10)help:打印一条帮助消息或者可用命令的列表。

       storm help

       storm help <command>

原文地址:https://www.cnblogs.com/tesla-turing/p/13698960.html