流式计算——storm集群部署

一、部署前准备

1、 集群部署的基本流程

集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装包、启动集群。当然在部署前我们还要修改hostname

 vi /etc/hosts
 192.168.239.128 storm01 zk01 hadoop01
 192.168.239.129 storm02 zk02 hadoop02
 192.168.239.130 storm03 zk03 hadoop03

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

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

关闭防火墙 

chkconfig iptables off && setenforce 0

创建用户

groupadd realtime && useradd realtime && usermod -a -G realtime realtime

创建工作目录并赋权

mkdir /export
mkdir /export/servers
chmod 755 -R /export

切换到realtime用户下

su realtime

二、Storm集群部署

1、下载安装包

     我们这里使用的为apache-storm-0.9.5.tar.gz,可以自己到官方下载

2、解压安装包

tar -zxvf apache-storm-0.9.5.tar.gz -C /export/servers/
cd /export/servers/

3、修改配置文件

vi /export/servers/apache-storm-0.9.5/conf/storm.yaml

输入以下内容:

## Storm 关联的 ZooKeeper 集群的地址列表
storm.zookeeper.servers:
    - "zk01"
    - "zk02"
    - "zk03"
 
## Nimbus 和 Supervisor 后台进程都需要一个用于存放一些状态数据(比如 jar 包、配置文件等等)的目录
storm.local.dir: "/home/data/storm"
 
##用于配置主控节点的地址,可以配置多个。从Storm1.0开始,支持Nimbus的HA。
nimbus.host: "storm01"
 
##配置每个 Supervisor 机器能够运行的工作进程(worker)数。每个 worker 都需要一个单独的端口来接收消息,
##这个配置项就定义了 worker 可以使用的端口列表。如果你在这里定义了 5 个端口,那么 Storm 就会在该机器上分配最多 5 个worker。
##如果定义 3 个端口,那 Storm 至多只会运行三个 worker。
 
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702

4、分发安装包

scp -r /export/servers/apache-storm-0.9.5 storm02:/export/servers
scp -r /export/servers/apache-storm-0.9.5 storm03:/export/servers

5、启动集群

在nimbus.host所属的机器上启动 nimbus服务(这里就是storm01,命令后按回车键)

cd /export/servers/apache-storm-0.9.5/bin/
nohup ./storm nimbus &

在nimbus.host所属的机器上启动ui服务

cd /export/servers/apache-storm-0.9.5/bin/
nohup ./storm ui &

在其它个点击上启动supervisor服务

cd /export/servers/apache-storm-0.9.5/bin/
nohup ./storm supervisor &

6、查看集群

访问IP:8080,即可看到storm的ui界面,如下:

三、Storm常用操作命令

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

提交任务命令格式

storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】
bin/storm jar examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology wordcount

杀死任务命令格式

storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)
storm kill topology-name -w 10

停用任务命令格式

storm deactivte 【拓扑名称】
storm deactivte topology-name

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

启用任务命令格式

storm activate【拓扑名称】
storm activate topology-name

重新部署任务命令格式

storm rebalance 【拓扑名称】
storm rebalance topology-name

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

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

查看nimbus的日志信息

#在nimbus的服务器上
cd /export/servers/apache-storm-0.9.5/logs
tail -100f /export/servers/apache-storm-0.9.5/logs/nimbus.log

查看ui运行日志信息

#在ui的服务器上,一般和nimbus一个服务器
cd /export/servers/apache-storm-0.9.5/logs
tail -100f /export/servers/apache-storm-0.9.5/logs/ui.log

查看supervisor运行日志信息

#在supervisor服务上
cd /export/servers/apache-storm-0.9.5/logs
tail -100f /export/servers/apache-storm-0.9.5/logs/supervisor.log

查看supervisor上worker运行日志信息

#在supervisor服务上
cd /export/servers/apache-storm-0.9.5/logs
tail -100f /export/servers/apache-storm-0.9.5/logs/worker-6702.log

猜你喜欢

转载自blog.csdn.net/qq_22172133/article/details/81539068