0

在 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 不存在,因为未添加集群

4

2 回答 2

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
于 2015-03-05T19:52:38.813 回答
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

于 2015-03-17T14:46:47.803 回答