在过去的三个月中,我正在与一个新团队合作,为电信领域的大数据分析构建产品。

Storm事件处理器是我们使用的主要框架之一,而且确实很棒。 您可以阅读其官方文档(已改进)中的更多详细信息。

Storm使用Workers来完成您的工作,其中每个人都是一个JVM,并且由Storm内部管理(启动,如果无响应则重新启动,将Worker移至群集的另一个节点等)。 对于单个作业,您可以在集群上运行多个Worker(Storm决定如何在集群节点中分配Worker)。 作为“节点”,我指的是正在运行的操作系统,可以在VM或物理机上运行。

这里的棘手问题是,即使节点中的所有Worker正在运行/处理其他类型的作业,它们都读取相同的配置文件(STORM_HOME / conf / storm.yaml )。 此外,有一个单一的参数(worker.childopts)在此文件中,其用于所有工人(在同一节点的)来初始化他们的JVM(如何设置JVM选项)。

因为我们想知道GC在每个worker中的性能如何,我们需要监视每个Worker / JVM的GC日志。

就像我说的那样,问题在于,当一个节点中的所有Worker都从同一配置文件中读取相同的参数以初始化其JVM时,因此为每个Worker / JVM使用不同的GC日志记录文件并不是一件容易的事。

幸运的是,Storm开发人员已经公开了解决此问题的“ 变量 ”。 此变量名为“ ID ”,并且对于每个节点上的每个Worker都是唯一的(相同的Worker ID可能存在于不同的节点中)。

对于Workers JVM Options,我们在“ storm.yaml ”文件中使用以下条目:

worker.childopts: "-Xmx1024m -XX:MaxPermSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbose:gc -Xloggc:/opt/storm/logs/gc-storm-worker-%ID%.log"

请注意,您必须在“ ID ”字符串之前和之后添加“ ”(以便被标识为内部Storm变量)。

此外,对于Supervisor JVM选项(每个节点上有一个进程),我们在“ storm.yaml ”文件中使用以下条目:

supervisor.childopts: "-Xmx512m -XX:MaxPermSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbose:gc -Xloggc:/opt/storm/logs/gc-storm-supervisor.log"

我也包括了一种内存设置(“ -Xmx”和“ -XX:MaxPermSize”),但这只是一个例子。

请记住,Storm需要Oracle Hotspot JDK 6 (尚不支持JDK 7/8)。 这是一个严重的缺点,但我们希望它会尽快解决。

希望能帮助到你!

民主需要免费软件

翻译自: https://www.javacodegeeks.com/2014/04/storm-event-processor-gc-log-file-per-worker.html

风暴事件处理器–每个工作者的GC日志文件相关推荐

  1. office工作日志文件_风暴事件处理器–每个工作者的GC日志文件

    office工作日志文件 在过去的三个月中,我正在与一个新团队合作,为电信领域的大数据分析构建产品. Storm事件处理器是我们使用的主要框架之一,它确实很棒. 您可以阅读其官方文档中的更多详细信息( ...

  2. linux 输出gc日志,Tomcat输出保存JVM GC日志文件

    当系统出现问题时,分析java虚拟机GC日志可以帮助我们定位问题,一般来说, 我们可以通过制定JVM参数使tomcat保存GC日志文件,具体实现如下: Windows下 找到tomcat的解压目录,进 ...

  3. 浅谈 G1 GC 日志格式

    在 Java9 中,G1 GC 将成为默认的垃圾收集器,G1 垃圾收集器的关键特性之一是能够在不牺牲吞吐量的同时,限制 GC 暂停时间(即可以设置所需的最大停顿时间). 由于 G1 GC 正在逐渐成为 ...

  4. G1 GC 日志格式

    在 Java9 中,G1 GC 将成为默认的垃圾收集器,G1 垃圾收集器的关键特性之一是能够在不牺牲吞吐量的同时,限制 GC 暂停时间(即可以设置所需的最大停顿时间). 由于 G1 GC 正在逐渐成为 ...

  5. java+jvm+log_java8添加并查看GC日志(ParNew+CMS)

    一.背景 java8的垃圾回收器一般推荐的是parNew+CMS,分别针对新生代和老年代的垃圾回收器.实际生产上,有时需要分析GC日志,检查GC回收有没有引起过多的系统暂停,特别是full GC. 二 ...

  6. java8 gc_java8添加并查看GC日志(ParNew+CMS)

    一.背景 java8的垃圾回收器一般推荐的是parNew+CMS,分别针对新生代和老年代的垃圾回收器.实际生产上,有时需要分析GC日志,检查GC回收有没有引起过多的系统暂停,特别是full GC. 二 ...

  7. 求求你了,配个GC日志呗,不然咋分析故障原因

    点击关注公众号,Java干货及时送达 生产环境上,或者其他要测试 GC 问题的环境上,一定会配置上打印GC日志的参数,便于分析 GC 相关的问题. 但是可能很多人配置的都不够"完美" ...

  8. gc日志一般关注什么_记一次生产频繁出现 Full GC 的 GC日志图文详解

    场景描述 相信大家都了解 jps.jmap.jstack 等常用 java 堆栈输出命令,有过 dump.gc 分析的经验,面试中会经常被问到有关 JVM 问题,比如你是否了解你的程序在生产环境的基础 ...

  9. idea本地跑如何看gc日志_牛逼了!用 IDEA 扒出了开源组件导致FGC的原因

    某天上午收到最近发布的一个服务频繁FGC的告警,这个服务只是给公司内部相关人员使用的,并非给互联网用户提供服务的系统.而且功能也比较简单,就是查看一些统计信息.报表数据.数据导出Excel等,访问量非 ...

最新文章

  1. 我们试着用FBI的方法破解了一台安卓机
  2. linux达人养成计划学习笔记(四)—— 压缩命令
  3. 神策数据多少含金量?PICOOC 有品帮你智能称量
  4. DCMTK:DSRListOfItems类的测试程序
  5. 宋体配置JAVA j2ee (一) 轻松入门
  6. 服务器通过响应头向浏览器设置cookie,http响应包括设置cookie jession id,但随后发送请求,请求标头中没有cookie信息...
  7. windows下Emacs的安装与配置
  8. VB 利用fso 枚举文件和文件夹
  9. 从零开始编写自己的C#框架(7)——需求分析
  10. 移动机器人路径规划算法研究综述(一)
  11. Fedora Linux 14百度云下载,Fedora Linux 14下载
  12. hfs网络文件服务器如何设置,hfs网络文件服务器的教程
  13. juce 消息 发送和接收以及
  14. 如何进行多平台整合,实现数据变现?
  15. 关于本公众号科研交流群(微信群)的说明
  16. 《数学之美》读书笔记和知识点总结
  17. 波士顿大学 计算机专业,波士顿大学计算机科学专业波士顿大学计算机科学专业.pdf...
  18. FCW前车碰撞预警的两个重要指标——THW、TTC
  19. 5G LTE窄带物联网(NB-IoT)8
  20. 用matlab对相机进行标定获取相机内参

热门文章

  1. c/c++ 字符串分割
  2. 服务器复制不了文档,服务器复制粘贴不了
  3. mvc html.antiforgerytoken,MVC Html.AntiForgeryToken() 防止CSRF***
  4. java中的equals方法+hashCode方法
  5. compose应用_带有PostgreSQLDocker Compose for Spring Boot应用程序
  6. spring 构造函数注入_Spring依赖注入–字段vs设置器vs构造函数注入
  7. azure blob_使用Azure Blob存储托管Maven工件
  8. spicy命令_Spicy Spring:动态创建自己的BeanDefinition
  9. 游戏 服务器 微服务_整体服务器与微服务
  10. [MEGA DEAL] 2020年完整的Java Master Class Bundle(96%)