社区
Power Linux
帖子详情
strom配置如何达到性能最佳???
芬兰的光
2016-06-23 10:38:45
各位大神可以分享下strom配置,如何达到性能最佳吗???
...全文
824
1
打赏
收藏
strom配置如何达到性能最佳???
各位大神可以分享下strom配置,如何达到性能最佳吗???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chyanch
2016-06-28
打赏
举报
回复
Storm的性能需要结合程序,Storm的配置以及物理资源情况联合分析。 提供一些思路: nimbus---supervisor --[ worker *N (executor *N--tasks*N)] supervisor(节点)>worker(进程)>executor(线程)>task(实例) 主要的计算都在Supervisor节点,其中 worker -> 进程。一个worker里面可以有多个executor。 executor -> 线程。 一个executor执行可以执行多个task。 task -> storm进行任务分配的基本单位。 其中: (1)Worker的数量: a. storm.yaml中,如下指定了 worker进程的端口,以及当前机器下能运行的work数量,每个端口用于对应进程对外通讯的。 如下配置可以不配置,在storm的 storm-core-xx.jar中的default.xml中做了默认配置。 supervisor.slots.ports: // 指定storm通讯端口 - 6701 - 6702 - 6703 - 6704 worker进程数量也可以通过config.setNumWorkers(workers)设置。(优先级更高) (2) executor的设置: builder.setSpout(id, spout, parallelism_hint): parallelism_hint设置spout的数量 builder.setBolt(id, bolt, parallelism_hint)设置的。parallelism_hint设置bolt的数量 (3)task的设置: task是通过 spout/boltDeclarer.setNumTasks(num)设置对应spout/bolt的task个数。 默认情况下,每个supervisor启动4个worker,每个worker启动1个executor,每个executor中会有1个task。 翻译成人类语言: 每台机器启动4个进程,每个进程里面跑一个线程,每个线程来具体执行一个 bolt/spout的实例 也可以通过 config设置进程个数 通过TopologyBuilder设置spout/bolt 各自的线程个数, 也能通过TopologyBuilder创建的对应的 Spout/BoltDecvlarer 来设置每个线程运行的具体task个数。 程序示例: public class WordCountTopology { public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("tweet", new RandomSentenceSpout(), 2); builder.setBolt("split", new SplitSentenceBolt(), 4) .shuffleGrouping("tweet") .setNumTasks(8); builder.setBolt("count", new WordCountBolt(), 6) .fieldsGrouping("split", new Fields("word")); Spout 并行度2,任务数2(没指定等同于2); SplitBolt并行度4,任务数8 CountBolt并行度6,任务数6 (没指定等同于6) 优化思路根据物理资源/数据分布合理调整并行度 JVM参数调整 # to nimbus nimbus.childopts: "-Xmx1024m" # to supervisor supervisor.childopts: "-Xmx1024m" # to worker worker.childopts: "-Xmx768m" 另外worker调优: Config类对象设置如下参数,来调整 worker进入数据,处理数据的容量大小 conf.put(Config.TOPOLOGY_RECEICER_BUFFER_SIZE, 8); conf.put(Config.TOPOLOGY_TRANSFER_BUFFER_SIZE, 32); conf.put(Config.TOPOLOGY_EXECUTOR_RECEIVE_BUFFER_SIZE, 16384); conf.put(Config.TOPOLOGY_EXECUTOR_SEND__BUFFER_SIZE, 16384); 初步就这些思路,更深层次的优化可以看程序运行过程中是否有特别慢的task,是否程序对数据处理不均衡导致的问题,优化程序等等。
centos7 pg-
strom
2.0 rpm 安装
https://heterodb.github.io/swdc/ 以pg10为例 https://heterodb.github.io/swdc/yum/rhel7-x86_64/nvme_
strom
-1.9-5.el7.x86_64.rpm https://heterodb.github.io/swdc/yum/rhel7-x86_64/pg_
strom
-PG10-2.0-181227.e...
Storm参数
配置
及代码优化
转载请注明出处,欢迎访问 fangchao.me 背景 本人在维护一套由storm、kafka、zookeeper组成的分布式实时计算系统。当数据量很小的时候,系统处理起来其实是绰绰有余的,基本上按照系统默认
配置
来就可以了。然而当数据量增长到一定规模的时候,系统的各个
配置
都对整个系统的
性能
有着至关重要的影响。在不断的处理现网问题、研究的过程中,对系统的一些关键
配置
有一些心得。在这里分享出来,同大家...
Flink,Spark,Storm,Hadoop框架比较
引言 大数据分析作为一种用于分析大量按需数据的工具,越来越受到人们的欢迎。四个最常见的大数据处理框架包括Apache Hadoop,Apache Spark,Apache Storm和Apache Flink。 虽然这四个都支持大数据处理,但是这些框架的用法和支持该用法的基础体系结构不同。大数据培训许多研究已经投入了时间和精力来通过评估已定义的关键绩效指标(KPI)来比较这些大数据框架。 本文通过确定一组通用的关键
性能
指标来总结这些早期工作,这些关键
性能
指标包括处理时间,CPU消耗,延迟,吞吐量,执行
log4j2同步日志引发的
性能
问题 | 京东物流技术团队
在压测的中,对于问题的根因尽最大能力探索挖掘,不断沉淀总结实践经验。尤其是一些开源的组件使用,要详细学习了解使用规范以及
最佳
实践,必要时可以加入
性能
测试,确保满足我们质量和
性能
要求。
17.大数据学习之旅——
Strom
集群中各角色说明&JStorm介绍&Storm的应用场景&Trident框架& Storm可靠性保证&Storm的容错机制
Strom
集群中各角色说明 概述 每一个工作节点上运行的Supervisor监听分配给它那台机器的工作,根据需要启动/关闭工作进程,每一个工作进程执行一个Topology的一个子集;一个运行的Topology由运行在很多机器上的很多工作进程Worker组成。那么Storm的核心就是主节点(Nimbus)、工作节点(Supervisor)、协调器(ZooKeeper)、工作进程(Worker)、任...
Power Linux
742
社区成员
901
社区内容
发帖
与我相关
我的任务
Power Linux
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
复制链接
扫一扫
分享
社区描述
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章