Apache storm storm1.1.0:未找到匹配字段:org.apache.storm.pacemaker.PacemakerClient类的waitUntilReady

Apache storm storm1.1.0:未找到匹配字段:org.apache.storm.pacemaker.PacemakerClient类的waitUntilReady,apache-storm,pacemaker,Apache Storm,Pacemaker,使用storm 1.1.0运行拓扑时,storm的worker上的pacemaker出现错误 ->java.lang.IllegalArgumentException:未找到匹配字段:org.apache.storm.pacemaker.PacemakerClient类的waitUntilReady 似乎在使用反射时,调用程序找不到waitUntilReady方法? 但是我在PacemakerClient的源代码中发现了这个方法:private void waitUntilReady()抛出Pa

使用storm 1.1.0运行拓扑时,storm的worker上的pacemaker出现错误 ->java.lang.IllegalArgumentException:未找到匹配字段:org.apache.storm.pacemaker.PacemakerClient类的waitUntilReady

似乎在使用反射时,调用程序找不到waitUntilReady方法? 但是我在PacemakerClient的源代码中发现了这个方法:private void waitUntilReady()抛出PacemakerConnectionException{} 当我使用具有相同拓扑代码和相同配置的storm 1.0.1时,从worker到pacemaker的通信运行良好,没有例外

我使用jdk1.8打包了拓扑,storm1.1.0也是使用jdk1.8启动的

我的起搏器配置为strom 1.1.0,如下所示:

pacemaker.servers: ["exp104.didatick.com"] pacemaker.port: 6699 pacemaker.max.threads: 10 pacemaker.childopts: "-Xmx512m" pacemaker.auth.method: "NONE" storm.cluster.state.store: "org.apache.storm.pacemaker.pacemaker_state_factory" pacemaker.servers:[“exp104.didatick.com”] 起搏器端口:6699 起搏器最大线程数:10 pacemaker.childopts:“-Xmx512m” pacemaker.auth.method:“无” storm.cluster.state.store:“org.apache.storm.pacemaker.pacemaker\u state\u工厂” 完整堆栈跟踪:

2017-04-16 17:08:50.896 o.a.s.d.worker main [INFO] Worker 855fbf1e-d23d-400f-b181-1a0934720bbf for storm TRIDENT-TEST-4-1492333594 on 47d8b370-85c2-41d1-b4e6-e63fbf832bff:6700 has finished loading 2017-04-16 17:08:50.998 o.a.s.p.pacemaker-state-factory executor-heartbeat-timer [ERROR] Failed to set_worker_hb. Will make [10] more attempts. java.lang.IllegalArgumentException: No matching field found: waitUntilReady for class org.apache.storm.pacemaker.PacemakerClient at clojure.lang.Reflector.getInstanceField(Reflector.java:271) ~[clojure-1.7.0.jar:?] at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:315) ~[clojure-1.7.0.jar:?] at org.apache.storm.pacemaker.pacemaker_state_factory$get_pacemaker_write_client.invoke(pacemaker_state_factory.clj:110) ~[storm-core-1.1.0.jar:1.1.0] at org.apache.storm.pacemaker.pacemaker_state_factory$_mkState$reify__12511$fn__12512.invoke(pacemaker_state_factory.clj:187) ~[storm-core-1.1.0.jar:1.1.0] at org.apache.storm.pacemaker.pacemaker_state_factory$pacemaker_retry_on_exception$fn__12506.invoke(pacemaker_state_factory.clj:139) ~[storm-core-1.1.0.jar:1.1.0] at org.apache.storm.pacemaker.pacemaker_state_factory$pacemaker_retry_on_exception.invoke(pacemaker_state_factory.clj:139) [storm-core-1.1.0.jar:1.1.0] at org.apache.storm.pacemaker.pacemaker_state_factory$_mkState$reify__12511.set_worker_hb(pacemaker_state_factory.clj:183) [storm-core-1.1.0.jar:1.1.0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_92] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92] at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) [clojure-1.7.0.jar:?] at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) [clojure-1.7.0.jar:?] at org.apache.storm.cluster$mk_storm_cluster_state$reify__4395.worker_heartbeat_BANG_(cluster.clj:468) [storm-core-1.1.0.jar:1.1.0] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_92] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92] at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) [clojure-1.7.0.jar:?] at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) [clojure-1.7.0.jar:?] at org.apache.storm.daemon.worker$do_executor_heartbeats.doInvoke(worker.clj:76) [storm-core-1.1.0.jar:1.1.0] at clojure.lang.RestFn.invoke(RestFn.java:439) [clojure-1.7.0.jar:?] at org.apache.storm.daemon.worker$fn__5542$exec_fn__1364__auto__$reify__5544$fn__5547.invoke(worker.clj:624) [storm-core-1.1.0.jar:1.1.0] at org.apache.storm.timer$schedule_recurring$this__1737.invoke(timer.clj:105) [storm-core-1.1.0.jar:1.1.0] at org.apache.storm.timer$mk_timer$fn__1720$fn__1721.invoke(timer.clj:50) [storm-core-1.1.0.jar:1.1.0] at org.apache.storm.timer$mk_timer$fn__1720.invoke(timer.clj:42) [storm-core-1.1.0.jar:1.1.0] at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92] 2017-04-16 17:08:50.896 o.a.s.d.工人主要[信息]工人855fbf1e-d23d-400f-b181-1a0934720bbf,在47d8b370-85c2-41d1-b4e6-e63fbf832bff上进行风暴三叉戟测试-4-149233594已完成加载 2017-04-16 17:08:50.998 o.a.s.p.pacemaker-state-factory executor心跳计时器[错误]无法设置\u worker\u hb。将进行[10]次尝试。 java.lang.IllegalArgumentException:未找到匹配字段:org.apache.storm.pacemaker.PacemakerClient类的waitUntilReady 在clojure.lang.Reflector.getInstanceField(Reflector.java:271)~[clojure-1.7.0.jar:?] 在clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:315)~[clojure-1.7.0.jar:?] 在org.apache.storm.pacemaker.pacemaker\u state\u factory$get\u pacemaker\u write\u client.invoke(pacemaker\u state\u factory.clj:110)~[storm-core-1.1.0.jar:1.1.0] 在org.apache.storm.pacemaker.pacemaker\u state\u factory$\u mkState$reify\u 12511$fn\u 12512.invoke(pacemaker\u state\u factory.clj:187)~[storm-core-1.1.0.jar:1.1.0] 在org.apache.storm.pacemaker.pacemaker\u state\u factory$pacemaker\u retry\u on\u exception$fn\u 12506.invoke(pacemaker\u state\u factory.clj:139)~[storm-core-1.1.0.jar:1.1.0] 在org.apache.storm.pacemaker.pacemaker\u state\u factory$pacemaker\u retry\u on\u exception.invoke(pacemaker\u state\u factory.clj:139)[storm-core-1.1.0.jar:1.1.0] 在org.apache.storm.pacemaker.pacemaker\u state\u factory$\u mkState$reify\u 12511.set\u worker\u hb(pacemaker\u state\u factory.clj:183)[storm-core-1.1.0.jar:1.1.0] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.092] 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)~[?:1.8.092] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[?:1.8.092] 在java.lang.reflect.Method.invoke(Method.java:498)~[?:1.8.092] 在clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)[clojure-1.7.0.jar:?] 在clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)[clojure-1.7.0.jar:?] 在org.apache.storm.cluster$mk_storm_cluster_state$reify__4395.worker_heartbeat_BANG_(cluster.clj:468)[storm-core-1.1.0.jar:1.1.0] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.092] 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)~[?:1.8.092] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[?:1.8.092] 在java.lang.reflect.Method.invoke(Method.java:498)~[?:1.8.092] 在clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)[clojure-1.7.0.jar:?] 在clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)[clojure-1.7.0.jar:?] 在org.apache.storm.daemon.worker$do_executor_heartbeats.doInvoke(worker.clj:76)[storm-core-1.1.0.jar:1.1.0] 在clojure.lang.RestFn.invoke(RestFn.java:439)[clojure-1.7.0.jar:?] 在org.apache.storm.daemon.worker$fn\uuuuu5542$exec\u fn\uuuuu1364\uuuuuuuuu auto\uuuuuufy\uuuu5544$fn\uuuuuu5547.invoke(worker.clj:624)[storm-core-1.1.0.jar:1.1.0] 在org.apache.storm.timer$schedule\u$this\u 1737.invoke(timer.clj:105)[storm-core-1.1.0.jar:1.1.0] 在org.apache.storm.timer$mk_timer$fn__1720$fn_1721.invoke(timer.clj:50)[storm-core-1.1.0.jar:1.1.0] 在org.apache.storm.timer$mk_timer$fn__1720.invoke(timer.clj:42)[storm-core-1.1.0.jar:1.1.0] 在clojure.lang.AFn.run(AFn.java:22)[clojure-1.7.0.jar:?] 在java.lang.Thread.run(Thread.java:745)[?:1.8.0_92]
我也看到过同样的问题

起搏器功能似乎在1.1.0中被破坏:

看看源代码,我相信它在1.0.3之前运行良好,但我还没有测试过它。我想你必须和项目的维护人员联系,看看他们是否打算修复这个问题


当然,他们可能计划只在2.0.0版本中解决这个问题,而某些起搏器代码是用java重写的。

我也看到了同样的问题

起搏器功能似乎在1.1.0中被破坏:

看看源代码,我相信它在1.0.3之前运行良好,但我还没有测试过它。我想你必须和项目的维护人员联系,看看他们是否打算修复这个问题


当然,他们有可能计划只在2.0.0版本中解决这个问题,因为某些起搏器代码是用java重写的。

有人遇到过这个问题吗?面对同样的问题,但我还没有解决方案。谢谢,你的回答帮了我很多。至少我知道这不是我的配置文件的问题。有人遇到过这个问题吗?面对同样的问题,但我还没有解决办法。谢谢,你的回答帮了我很多。至少我知道