目录
%STORM_HOME%/conf/storm.yaml的其它配置
default.schedule.mode: "average"
Storm集群配置:
本文要在yangjjhost、yangjjhost02、yangjjhost03三台机器上搭建Storm集群,首先保证这三台机器已经安装JDK,并配置环境变量。其次zookeeper集群已经启动
官网下载Storm
Storm集群配置
Vim %STORM_HOME%/conf/storm.yaml
启动
其中一台机器在%STORM_HOME%/bin目录下执行启动命令
启动集群管理者:./storm nimbus &
启动工作结点:./storm supervisor &
启动UI控制台: ./storm ui &
另外两台机器在%STORM_HOME%/bin目录下执行启动命令
启动工作结点:./storm supervisor &
查看启动的进程
Nimbus为主结点进程、supervisor为工作进程、core为ui控制台进程
进入UI控制台查看集群状况。IP为集群管理者的地址,端口为8080。例如:http://yangjjhost03:8080
%STORM_HOME%/conf/storm.yaml的其它配置
supervisor.slots.ports:
Worker进程之间通信,需要配置的端口号,默认一个结点配置4个槽位,一个槽位对应一个worker进程。在高并发场景,需要增加结点槽位,增加个数为机器核数的倍数,例如我的电脑是4核,可以增加的槽位数为4、8、12、16、20、24、28、32,建议不要超过32个槽位。反映在该参数上便是增加端口号:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
- 6704
- 6705
- 6706
- 6707
- 6708
- 6709
- 6710
ui.port :
Storm集群的UI地址端口号,默认是8080
storm.zookeeper.port
Storm集群对应的ZooKeeper集群的服务端口,ZooKeeper默认端口为2181
storm.zookeeper.root:
Storm的元数据在ZooKeeper中存储的根目录。默认是/storm
default.schedule.mode: "average"
优先将任务分配给空闲Slot数目最多的机器。
client.jartransformer.class
1.0之后的版本,类所在的包路径由 "backtype.storm" 替换成了"org.apache.storm"。
为了兼容老版本代码能够顺利编译,成功运行,需要添加以下配置
client.jartransformer.class: "org.apache.storm.hack.StormShadeTransformer"
学习更多Storm知识,可以下载我的Storm入门手册