Storm-集群安装Storm

1.集群部署的基本流程

集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装包、启动集群


2.集群部署的基础环境准备

安装前的准备工作(zk集群已经部署完毕)


3、Storm集群部署

3.1、下载安装包

wget    http://124.202.164.6/files/1139000006794ECA/apache.fayea.com/storm/apache-storm-0.9.5/apache-storm-0.9.5.tar.gz

 

3.2、解压安装包并修改属性及权限

tar -zxvf apache-storm-0.9.5.tar.gz -C /usr/local  #解压

 

cd /usr/local
sudo mv apache-storm-0.9.5/ storm/  #修改文件名字
sudo chown -R hadoop:hadoop storm  #修改权限

3.3、修改配置文件

cp /usr/local/storm/conf/storm.yaml /usr/local/storm/conf/storm-yaml.bak

vi cp /usr/local/storm/conf/storm.yaml

添加以下内容:

#storm使用的zk集群
storm.zookeeper.servers:
     - "Master"
     - "node01"
     - "node02"
#指定storm集群中的nimbus节点所在的服务器
nimbus.host: "Master"

#指定nimbus启动JVM最大可用内存大小
nimbus.childopts: "-Xmx1024m"

#指定supervisor启动JVM最大可用内存大小
supervisor.childopts: "-Xmx1024m"

#指定supervisor节点上,每个worker启动JVM最大可用内存大小
worker.childopts: "-Xmx768m"

#指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上。
ui.childopts: "-Xmx768m"

#指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

3.4、分发安装包

          scp -r /usr/local/storm node01:/usr/local/

          scp -r /usr/local/storm node01:/usr/local/

3.5、启动集群

  1. 在nimbus.host所属的机器上启动 nimbus服务和ui服务
#在nimbus.host所属的机器上启动 nimbus服务
cd /usr/lcoal/storm/bin
nohub ./storm nimbus &

#在nimbus.host所属的机器上启动ui服务
nohup ./storm ui &

2、在其他节点开启supervisor

#在其它节点上启动supervisor服务
cd /usr/local/storm/bin
nohub ./storm supervisor &

3.6、查看集群

访问storm的UI界面:http:localhost:8080,即可看到storm的ui界面。

 

对上图的介绍:

Cluster Sunmmary:是Storm集群的信息简介

        version:storm的版本信息

        nimbus uptime :storm启动的时间

        sopervisors:supervisor的节点个数

        used slots:使用的槽的个数

        free slots:剩余槽(work)的个数

        Total slots:总共的槽的个数

        Exectors:Task的执行器(线程的个数)Task:spout任务和bolt任务。属于每个任务中并发调度中的一个。一个Task本质上是一个线程。线程:Exector

 

Topology Summary:(拓扑图)

                                     

                                                                               Storm编程模型

  1. Topology:Storm中运行的一个实时应用程序的名称。(拓扑)
  2. Spout:在一个topology中获取源数据流的组件。

通常情况下spout会从外部数据源中读取数据,然后转换为topology内部的源数据。

  1. Bolt:接受数据然后执行处理的组件,用户可以在其中执行自己想要的操作。
  2. Tuple:一次消息传递的基本单元,理解为一组消息就是一个Tuple。
  3. Stream:表示数据的流向。

        

                                                                               Storm核心组件

  1. Nimbus:负责资源分配和任务调度。
  2. Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。---通过配置文件设置当前supervisor上启动多少个worker。
  3. Worker:运行具体处理组件逻辑的进程。Worker运行的任务类型只有两种,一种是Spout任务,一种是Bolt任务。
  4. Task:worker中每一个spout/bolt的线程称为一个task. 在storm0.8之后,task不再与物理线程对应,不同spout/bolt的task可能会共享一个物理线程,该线程称为executor。

Supervisor Summary:

      supervisor的节点信息:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。---通过配置文件设置当前supervisor上启动多少个worker。


 

4、Storm常用操作命令

有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。

  1. 提交任务命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】

bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount

  1. 杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)

storm kill topology-name -w 10

  1. 停用任务命令格式:storm deactivte  【拓扑名称】

storm deactivte topology-name

我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。

  1. 启用任务命令格式:storm activate【拓扑名称】

        storm activate topology-name

  1. 重新部署任务命令格式:storm rebalance  【拓扑名称】

        storm rebalance topology-name

        再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。


5、Storm集群的进程及日志熟悉

5.1、部署成功之后,启动storm集群。

依次启动集群的各种角色

5.2、查看nimbus的日志信息

在nimbus的服务器上

cd /export/servers/storm/logs

tail -100f /export/servers/storm/logs/nimbus.log

5.3、查看ui运行日志信息

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

cd /export/servers/storm/logs

tail -100f /export/servers/storm/logs/ui.log

5.4、查看supervisor运行日志信息

在supervisor服务上

cd /export/servers/storm/logs

tail -100f /export/servers/storm/logs/supervisor.log

5.5、查看supervisor上worker运行日志信息

在supervisor服务上

cd /export/servers/storm/logs

tail -100f /export/servers/storm/logs/worker-6702.log

                                                                (该worker正在运行wordcount程序)


6、Storm源码下载及目录熟悉

6.1、在Storm官方网站上寻找源码地址

    http://storm.apache.org/downloads.html

 

6.2、点击文字标签进入github

点击Apache/storm文字标签,进入github

    https://github.com/apache/storm

6.3、拷贝storm源码地址

在网页右侧,拷贝storm源码地址

    

6.4、使用Subversion客户端下载

https://github.com/apache/storm/tags/v0.9.5

6.5、Storm源码目录分析(重要)

 

扩展包中的三个项目,使storm能与hbase、hdfs、kafka交互

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_38709565/article/details/84830388