拓扑只是在远程模式下在Storm上闲置

时间:2019-07-05 11:58:52

标签: apache-storm stormcrawler

我有一个Stormcrawler拓扑(从生成的拓扑中进行了少许修改),该拓扑对于本地模式下的30年代来说可以正常工作,但是当我添加--remote并提交它时,它已在Storm中注册,但是只是闲逛而没有发出或传输的任何值。

我以前有过类似的事情,但是在日志中没有什么东西可以指示问题所在(虽然我无法阅读的日志更多)。

以前有人看过吗?

克里斯

更新: 好的,可以在worker.log中找到它:

2019-07-06 17:04:40.531 STDERR线程-0 [INFO]无法识别的VM选项'PrintGCDateStamps'

2019-07-06 17:04:40.531 STDERR Thread-1 [INFO] [0.000s] [warning] [gc] -Xloggc已弃用。将使用 -Xlog:gc:artifacts / gc.log。

2019-07-06 17:04:40.534 STDERR线程-0 [INFO]错误:无法创建Java虚拟机。

2019-07-06 17:04:40.535 STDERR线程-0 [INFO]错误:发生致命异常。程序将退出。

我的猜测是我使用的Java版本太新(11.0.3)? 所以我可以删除那些JVM选项?

1 个答案:

答案 0 :(得分:0)

我在工作日志中遇到了类似的错误。 错误说failed to create java virtual machine

事实证明,工作节点上JVM的默认选项已过时。这是默认选项:

worker.childopts: "-Xmx%HEAP-MEM%m -XX:+PrintGCDetails -Xloggc:artifacts/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=artifacts/heapdump"

我通过覆盖storm.yaml文件来删除了GC选项

worker.heap.memory.mb: 768 worker.childopts: "-Xmx%HEAP-MEM%m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=artifacts/heapdump" worker.gc.childopts: ""

此更新之后,我重新启动了风暴节点。错误cannot start java virtual machine消失了。我所有的喷嘴和螺栓都能够处理数据