扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本地模式运行
本地模式类似storm集群是一个进程,用来编写和测试topology。在本地模式上运行topology类似在一个集群上运行topology。创建一个本地集群:
import backtype.storm.LocalCluster;
LocalCluster cluster = new LocalCluster();
提交集群使用submitTopology,
杀死集群使用killTopology
关闭一个本地集群使用cluster.shutdown();
本地模式下的公共配置:
Config.TOPOLOGY_MAX_TASK_PARALLELISM
Config.TOPOLOGY_DEBUG:
生产集群运行
一、步骤
1、定义topology,若用java语言,使用TopologyBuilder来定义
2、使用StormSubmitter来提交topology到集群中,所需参数需要topology名字,topology的参数配置,topology本身
例:
Config conf = new Config();
conf.setNumWorkers(20);
conf.setMaxSpoutPending(5000);
StormSubmitter.submitTopology("mytopology", conf, topology);
3、创建jar包使用storm 客户端命令,jar包包含你的所有的代码
4、提交topology,为jar包指定参数
storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3
实例:
1 public static void main(String[] args) throws Exception {
2 TopologyBuilder builder = new TopologyBuilder();
3 builder.setSpout("random", new RandomWordSpout(), 2);
4 builder.setBolt("transfer", new TransferBolt(), 4).shuffleGrouping("random");
5 builder.setBolt("writer", new WriterBolt(), 4).fieldsGrouping("transfer", new Fields("word"));
6 Config conf = new Config();
7 conf.setNumWorkers(4);// 设置启动4个Worker
8 conf.setNumAckers(1); // 设置一个ack线程
9 conf.setDebug(true); // 设置打印所有发送的消息及系统消息
10 StormSubmitter.submitTopology("test", conf, builder.createTopology());
11 }
二、公共配置
Config.TOPOLOGY_WORKERS :设置执行topology的worker的数量
Config.TOPOLOGY_ACKER_EXECUTORS:
Config.TOPOLOGY_MAX_SPOUT_PENDING
Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS:默认是30s
Config.TOPOLOGY_SERIALIZATIONS
三、杀死topology
storm kill stormname
四、更新一个正在运行的topology
杀死一个正在运行的topology,提交一个新的topology,计划使用storm swap命令
五、监控topology使用Storm UI或者集群上的工作日志
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流