Storm集群配置与启动

一、Storm集群配置

搭建总体的架构:
Storm集群配置与启动_第1张图片
实现步骤:
1.安装和配置jdk
2.安装和配置zookeeper
3.上传和解压storm
4.配置storm安装目录conf目录下的storm.yaml文件
storm.yaml配置示例:
找到storm.zookeeper.servers:
添加服务节点,如下:

storm.zookeeper.servers:
- “zkp1”
- “zkp2”
- “zkp3”

nimbus.host: “zkp1”
storm.local.dir: “/root/apache-storm-0.9.3/tmp”

注意:
配置项开头需要有空格,:后面需要跟空格,否则启动会报错

5.在storm安装目录下创建tmp目录

其中:
1)storm.zookeeper.services:配置zookeeper集群的主机名称。
2)nimbus.host:指定了集群中nimbus的节点。
3)supervisor.slots.ports:配置控制每个supervisor节点运行多少个worker进程。这个配置定义为worker监听的端口的列表,监听端口的个数控制了supervisor节点上有多少个worker的插槽。默认的storm使用6700~6703端口,每个supervisor节点上有4个worker插槽。
Storm集群配置与启动_第2张图片
4)storm.local.dir:storm工作时产生的工作文件存放的位置,注意,要避免配置到/tmp下。

二、Storm集群的启动

实现步骤:
进入第一台虚拟机或者云主机的storm安装目录下的bin目录

cd /root/apache-storm-0.9.3/bin

1.启动nimbus 以后台进程
执行: ./storm nimbus >/dev/null 2>&1 &
2.启动supervisor 后台进程
执行:./storm supervisor >/dev/null 2>&1 &

3.启动 ui 后台进程
执行:./storm ui >/dev/null 2>&1 &

注意:ui进程必须和nimbus进程在同一台物理机上

最后通过jps查看所有进程:
Storm集群配置与启动_第3张图片

4.进入另外两台机子,启动supervisor进程
执行:./storm supervisor >/dev/null 2>&1 &
5.通过浏览器,访问01虚拟机的8080端口,进入ui管理页面

Storm集群配置与启动_第4张图片

–Storm命令
–启动命令
**在启动storm之前确保storm使用的zookeeper已经启动且可以使用
1)storm nimbus
启动nimbus守护进程
2)storm supervisor
启动supervisor守护进程
3)storm ui
启动stormui的守护进程,从而可以通过webUI界面来监控storm运行过程
4)storm drpc
启动一个DRPC服务守护进程

–管理命令
1)
storm jar topology_jar topology_class[arguments...]
向集群提交topology。它会使用指定的参数运行topology_class中的main()方法,同时上传topology_jar文件到nimbus以分发到整个集群。提交后,Storm集群会激活并且开始运行topology。topology中的main()方法需要调用StormSubmitter.submitTopology()方法,并且为topology提供集群内唯一的名称。
2)
storm kill topology_name[-w wait_time]
用来关闭已经部署的topology。
3)
storm deactivate topology_name
停止指定topology的spout发送tuple
4)
storm activate topology_name
恢复指定topology的spout发送tuple。
5)
storm rebalance topology_name[-w wait_time][-n worker_count][-e component_name=executor_count]
指定storm在集群的worker之间重新平均地分配任务,不需要关闭或者重新提交现有的topology。当执行rebalance命令时,Storm会先取消激活topology,等待配置的的时间使剩余的tuple处理完成,然后再supervisor节点中均匀的重新分配worker。重新分配后,Storm会将topology恢复到之前的激活状态。
6)
storm remoteconfvalue conf-name
用来查看远程集群中的配置参数值。

你可能感兴趣的:(大数据)