我有一个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选项?
答案 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
消失了。我所有的喷嘴和螺栓都能够处理数据