Board logo

标题: Storm 性能优化(1) [打印本页]

作者: look_w    时间: 2019-1-15 19:27     标题: Storm 性能优化(1)

目录场景假设在介绍 Storm 的性能调优方法之前,假设一个场景:
项目组部署了3台机器,计划运行且仅运行 Storm(1.0.1) + Kafka(0.9.0.1) + Redis(3.2.1) 的小规模实验集群,集群的配置情况如下表:
主机名硬件配置角色描述hd012CPUs, 4G RAM, 2TB 机械硬盘nimbus, supervisor, ui, kafka, zkhd022CPUs, 4G RAM, 2TB 机械硬盘supervisor, kafka, zkhd032CPUs, 4G RAM, 2TB 机械硬盘supervisor, kafka, zk现有一个任务,需要实时计算订单的各项汇总统计信息。订单数据通过 kafka 传输。在 Storm 中创建了一个 topology 来执行此项任务,并采用 Storm kafkaSpout 读取该 topic 的数据。kafka 和 Storm topology 的基本信息如下:
[url=][/url]
TopologyBuilder builder = new TopologyBuilder();builder.setSpout("kafkaSpout", new kafkaSpout(), 3);builder.setBolt("filter", new FilterBolt(), 3).shuffleGrouping("kafkaSpout");builder.setBolt("alert", new AlertBolt(), 3).fieldsGrouping("filter", new Fields("order"));Config conf = new Config();conf.setNumWorkers(2);StormSubmitter.submitTopologyWithProgressBar("topology-name", conf, builder.createTopology());[url=][/url]

那么,在此假设下,Storm topology 的数据怎么分发?性能如何调优?这就是下文要讨论的内容,其中性能调优是最终目的,数据分发即 Storm 的消息机制,则是进行调优前的知识储备。
调优步骤和方法Storm topology 的性能优化方法,整体来说,可依次划分为以下几个步骤:
其中第一点不是讨论的重点,无外乎增加机器的硬件资源,提高机器的硬件配置等,但是这一步却也不能忽略,因为机器配置太低,很可能后面的步骤怎么调优都无济于事。
Storm 的一些特性和原理,是进行调优的必要知识储备





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0