注意:我使用的是azurehdinsight风暴linux集群。
有一个storm ui提供了相当好的度量,但它没有提供螺栓之间的延迟。所以我在每个螺栓的开头和结尾放了一些日志语句。这样我可以计算螺栓之间的时间。不幸的是,此值有时返回负值…:/但这应该是不可能的。我使用四个工作进程(jvm),所以我假设当消息从一个jvm传递到另一个jvm时,它们的系统时钟不同步。
有谁能回答以下问题之一:
1) How to reliably get the transfer latency between bolts.
2) How to sync the system clock between worker processes.
1条答案
按热度按时间raogr8fs1#
非常难——如果你想做得非常可靠,你需要使用
System.nanoTime()
--这不会访问系统时钟,也不能在机器上同步——因此,它只能在同一台物理机器上运行的两个工作进程中工作。对于多机测量,可以使用ntp同步系统时钟。但这将不太准确。