Strom 集群搭建步骤

storm 集群依赖于zookeeper 集群,所以首先需要安装好zk集群

 如果要求不是很高,zookeeper 单节点也可以 

1.上传安装包到192.168.1.71 节点

   apache-storm-0.9.3.tar.gz 

2.解压

# tar zxvf apache-storm-0.9.3.tar.gz

3.修改配置文件

storm里面有一个文件conf/storm.yaml,它就是storm的配置文件。关于这个文件的所有默认值可以从这里得到

https://github.com/apache/storm/blob/master/conf/defaults.yaml

# cd apache-storm-0.9.3/conf


# vi storm.yaml

 

1.指定zk节点的地址,也可以用主机名

如果zookeeper集群使用的端口不是默认端口,那么还得配置storm.zookeeper.port。

2.指定nimbus 的host,也就是所在的节点

 

 

 

 

supervisor里面会有多个worker , 一个worker 对应一个slot(槽位)

默认情况下一个supervisor 启动四个worker , 也就是对应四个slot

可以修改配置启动几个worker,怎么如下配置

每一个worker 需要一个端口,所以添加几个端口就是添加几个worker

supervisor.slots.ports:

- 6701

- 6702

- 6703

- 6704

- 6705

- 6706

 

 

5. 将storm 包拷贝到其他节点

 

# scp -r /home/hadoop/apache-storm-0.9.3/hadoop02:/home/hadoop

# scp -r /home/hadoop/apache-storm-0.9.3hadoop03:/home/hadoop

 

 

6. 启动storm集群

 首先启动zk集群

 # ./zkServer.sh start

 

在nimbus主机上(192.168.1.71)

//启动协调管理nimbus 

以下启动如果权限不够使用root 用户操作

# cd /home/hadoop/apache-storm-0.9.3/bin

# ./storm nimbus

或者执行后台启动

# ./storm nimbus1>/dev/null 2>&1 &

 

 

在supervisor主机上192.168.1.72、192.168.1.73

# ./stormsupervisor 1>/dev/null 2>&1 &

 

//启动web管理界面 启动后可以通过nimbus主机名:8080端口进行仿问

192.168.1.71

#./storm ui

或者

# ./storm ui1>/dev/null 2>&1 &

ui 的进程名就叫core

 

web 管理界面地址

http://192.168.1.71:8080

 

 

 

Strom集群提交程序

1.向Storm集群提交Topologies

程序打包  phoneStorm.jar

命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】【stormIP地址】【storm端口】【拓扑名称】【参数】

# cd /home/hadoop/apache-storm-0.9.3/bin

# ./storm jar/home/hadoop/phoneStorm.jar com.zch.bigdata.storm.TopologySubmitClient;


#提交phoneStorm.jar到远程集群,并启动TopologySubmitClient拓扑。

观察ui 界面:

 

 

 

注意:topology程序一旦开启运行,就会一直运行,除非出错或者人为停止程序

 

2、停止Topologies

查看当前运行的topo:

# ./storm list

命令格式:storm kill 【拓扑名称】

样例:

# ./storm kill phoneTopo

 

Storm 相关配置

在storm.yaml中常用的几个选项

storm.zookeeper.root

Storm在zookeeper集群中的根目录,默认是“/”

 

topology.workers

每个Topology运行时的worker的默认数目,若在代码中设置,则此选项值被覆盖

 

storm.zookeeper.servers

zookeeper集群的节点列表

 

storm.local.dir

Storm用于存储jar包和临时文件的本地存储目录

 

ui.port  

Storm集群的UI地址端口号,默认是8080

 

nimbus.host:

Nimbus节点的host

 

supervisor.slots.ports

Supervisor节点的worker占位槽,集群中的所有Topology公用这些槽位数,即使提交时设置了较大数值的槽位数,系统也会按照当前集群中实际剩余的槽位数来进行分配,当所有的槽位数都分配完时,新提交的Topology只能等待,系统会一直监测是否有空余的槽位空出来,如果有,就再次给新提交的Topology分配。

 

 

你可能感兴趣的:(storm)