在OpsCenter中添加现有群集时收到错误:
ERROR: Agent for XXX.XXX.XXX.XXX was unable to complete operation (http://XXX.XXX.XXX.XXX:61621/snapshots/pit/properties?): java.lang.IllegalArgumentException: No implementation of method: :make-reader of protocol: #'clojure.java.io/IOFactory found for class: nil
在代理上有一个错误:
java.lang.IllegalArgumentException: No implementation of method: :make-reader of protocol: #'clojure.java.io/IOFactory found for class: nil
at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:541)
at clojure.java.io$fn__8551$G__8546__8558.invoke(io.clj:73)
at clojure.java.io$reader.doInvoke(io.clj:106)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.core$apply.invoke(core.clj:619)
at clojure.core$slurp.doInvoke(core.clj:6278)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at opsagent.backups.pit$read_properties.invoke(pit.clj:68)
at opsagent.backups.pit$enabled_QMARK_.invoke(pit.clj:106)
at clojure.core$eval37.invoke(NO_SOURCE_FILE:107)
at clojure.lang.Compiler.eval(Compiler.java:6619)
at clojure.lang.Compiler.eval(Compiler.java:6609)
at clojure.lang.Compiler.eval(Compiler.java:6582)
at clojure.core$eval.invoke(core.clj:2852)
at opsagent.opsagent$post_interface_startup.doInvoke(opsagent.clj:102)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at opsagent.conf$handle_new_conf.invoke(conf.clj:198)
at opsagent.messaging$message_callback$fn__12316.invoke(messaging.clj:52)
at opsagent.messaging.proxy$java.lang.Object$StompConnection$Listener$7f16bc72.onMessage(Unknown Source)
at org.jgroups.client.StompConnection.notifyListeners(StompConnection.java:324)
at org.jgroups.client.StompConnection.run(StompConnection.java:274)
at java.lang.Thread.run(Thread.java:745)
群集创建失败。我也在启动时收到此错误。我尝试重新安装代理,但在不帮助
DataStax代理版本:5.1.0
OpsCenter版本5.1.0
root@node1:~# java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~deb7u1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
root@node1:~#
address.yaml的内容
stomp_interface: "YYY.YYY.YYY.YYY"
opscenterd.conf的内容
[webserver]
port = 8888
interface = 0.0.0.0
use_ssl = false
[logging]
level = INFO
< cluster name> .conf不存在,因为未添加群集
答案 0 :(得分:1)
我认为问题出在你的Java安装上。我相信你需要Oracle Java,而不是OpenJDK。
这对我有用:
ubuntu:~$ sudo add-apt-repository ppa:webupd8team/java
ubuntu:~$ sudo apt-get update && sudo apt-get install oracle-java7-installer oracle-java7-set-default
答案 1 :(得分:1)
代理程序遇到的问题是在该节点上找到DSE的安装。当它无法找到DSE时,它无法获取存档属性文件以进行更新和错误输出。
遗憾的是,此错误消息非常无益。我已经创建了修复错误消息的故障单(不幸的是它是私有的,但在讨论DataStax问题时可以使用此故障单号:OPSC-4826)
要解决此问题,请尝试在该节点上的address.yaml文件中设置cassandra_install_location。调整address.yaml后,请退回代理,然后您可以重试该操作。
您可以在此处找到列出此内容和更多address.yaml配置项的文档:http://www.datastax.com/documentation/opscenter/5.1/opsc/configure/agentAddressConfiguration.html