office工作日志文件_风暴事件处理器–每个工作者的GC日志文件
office工作日志文件
在過去的三個(gè)月中,我正在與一個(gè)新團(tuán)隊(duì)合作,為電信領(lǐng)域的大數(shù)據(jù)分析構(gòu)建產(chǎn)品。
Storm事件處理器是我們使用的主要框架之一,它確實(shí)很棒。 您可以閱讀其官方文檔中的更多詳細(xì)信息(已改進(jìn))。
Storm使用Workers來完成您的工作,其中每個(gè)人都是一個(gè)JVM,并由Storm內(nèi)部管理(啟動(dòng),如果無響應(yīng)則重新啟動(dòng),將Worker移至群集的另一個(gè)節(jié)點(diǎn)等)。 對(duì)于單個(gè)作業(yè),您可以在集群上運(yùn)行許多Worker(Storm決定如何在集群節(jié)點(diǎn)中分配Worker)。 作為“節(jié)點(diǎn)”,我指的是正在運(yùn)行的操作系統(tǒng),可以在VM或物理機(jī)上運(yùn)行。
這里的棘手點(diǎn)是,即使節(jié)點(diǎn)中的所有Worker正在運(yùn)行/處理其他類型的作業(yè),它們都讀取相同的配置文件(STORM_HOME / conf / storm.yaml )。 此外,有一個(gè)單一的參數(shù)(worker.childopts)在此文件中,其用于所有工人(在同一節(jié)點(diǎn)的)來初始化他們的JVM(如何設(shè)置JVM選項(xiàng))。
因?yàn)槲覀兿胫繥C在每個(gè)worker中的性能,我們需要監(jiān)視每個(gè)Worker / JVM的GC日志。
就像我說的那樣,問題在于,當(dāng)一個(gè)節(jié)點(diǎn)中的所有Worker都從同一配置文件中讀取相同的參數(shù)以初始化其JVM時(shí),因此為每個(gè)Worker / JVM使用不同的GC日志記錄文件并不是一件容易的事。
幸運(yùn)的是,Storm開發(fā)人員公開了解決該問題的“ 變量 ”。 該變量名為“ ID ”,并且對(duì)于每個(gè)節(jié)點(diǎn)上的每個(gè)Worker都是唯一的(相同的Worker ID可以存在于不同的節(jié)點(diǎn)中)。
對(duì)于Workers JVM Options,我們?cè)凇?storm.yaml ”文件中使用以下條目:
worker.childopts: "-Xmx1024m -XX:MaxPermSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbose:gc -Xloggc:/opt/storm/logs/gc-storm-worker-%ID%.log"請(qǐng)注意,您必須在“ ID ”字符串之前和之后添加“ % ”(以便被標(biāo)識(shí)為內(nèi)部Storm變量)。
另外,對(duì)于Supervisor JVM選項(xiàng)(每個(gè)節(jié)點(diǎn)上有一個(gè)進(jìn)程),我們?cè)凇?storm.yaml ”文件中使用以下條目:
supervisor.childopts: "-Xmx512m -XX:MaxPermSize=256m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -verbose:gc -Xloggc:/opt/storm/logs/gc-storm-supervisor.log"我也包括了一種內(nèi)存設(shè)置(“ -Xmx”和“ -XX:MaxPermSize”),但這只是一個(gè)例子。
請(qǐng)記住,Storm需要Oracle Hotspot JDK 6 (尚不支持JDK 7/8)。 這是一個(gè)嚴(yán)重的缺點(diǎn),但我們希望它會(huì)盡快解決。
希望能幫助到你!
民主需要免費(fèi)軟件
翻譯自: https://www.javacodegeeks.com/2014/04/storm-event-processor-gc-log-file-per-worker.html
office工作日志文件
總結(jié)
以上是生活随笔為你收集整理的office工作日志文件_风暴事件处理器–每个工作者的GC日志文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 被ddos攻击了怎么查(如何查看ddos
- 下一篇: OpenJDK织机和结构化并发