Storm 安装部署
部署Storm集群需要依次完成的安装步骤:
1.安装jdk6及以上版本;
2. 搭建Zookeeper集群;
3. 安装Storm依赖库;
4. 下载并解压Storm发布版本;
5. 修改storm.yaml配置文件;
6. 启动Storm各个后台进程。
——————————————————————————————————————
需要在Nimbus和Supervisor机器上安装Storm发行版本。
1. 下载Storm发行版本:
wget https://github.com/downloads/nathanmarz/storm/storm-0.9.2.zip
2. 解压到安装目录下:
unzip storm-0.9.2.zip
修改storm.yaml配置文件conf/storm.yaml
conf/storm.yaml中的配置选项将覆盖defaults.yaml中的默认配置。
1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下:
storm.zookeeper.servers:
- “111.222.333.444″
- “555.666.777.888″
如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项。
2) storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:
storm.local.dir: "/home/admin/storm/workdir"
注意事项:
启动Storm后台进程时,需要对conf/storm.yaml配置文件中设置的storm.local.dir目录具有写权限。
storm后台进程被启动后,将在Storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
经测试,Storm UI必须和Storm Nimbus部署在同一台机器上,否则UI无法正常工作,因为UI进程会检查本机是否存在Nimbus链接。
为了方便使用,可以将bin/storm加入到系统环境变量中。
至此,Storm集群已经部署、配置完毕,可以向集群提交拓扑运行了。
——————————————————————————————————————
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分配。
——————————————————————————————————————
1、启动nimbus后台程序 命令格式:storm nimbus
2、启动supervisor后台程序 命令格式:storm supervisor
3、启动ui服务 命令格式:storm ui
4、提交Topologies
命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】【stormIP地址】【storm端口】【拓扑名称】【参数】
eg: storm jar /home/storm/storm-starter.jar storm.starter.WordCountTopology wordcountTop;
#提交storm-starter.jar到远程集群,并启动wordcountTop拓扑。
5、停止Topologies
查看当前运行的topo: storm list
命令格式:storm kill 【拓扑名称】
样例:storm kill wordcountTop #杀掉wordcountTop拓扑。