2015-03-03 145 views
0

雖然在OpsCenter中加入現有羣集我收到一個錯誤:Dataxtax代理錯誤

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版本address.yaml

stomp_interface: "YYY.YYY.YYY.YYY" 

內容5.1.0

[email protected]:~# 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) 
[email protected]:~# 

內容of opscenterd.conf

[webserver] 
port = 8888 
interface = 0.0.0.0 
use_ssl = false 
[logging] 
level = INFO 

<集羣名稱> .conf缺失,因爲集羣未添加

+0

您是如何安裝卡桑德拉(DEB/rpm或壓縮包)? – arre 2015-03-03 13:35:23

+0

您能否將以下文件添加到您的帖子中: .conf,address.yaml和opscenter.conf。 OpsCenter 5.1已經發生了一些變化,其中之一是從代理中刪除節儉,這意味着有一些隨後的配置文件更改 – markc 2015-03-03 18:58:07

+0

好吧,從您的配置中,我們可以看到沒有配置ssl,因此很好。如上所述,您是如何安裝opscenter和代理商的? – markc 2015-03-04 08:37:46

回答

1

的代理遇到的問題是找到該節點上的DSE的安裝。當它找不到DSE時,它無法獲取歸檔屬性文件進行更新並出錯。

不幸的是,這個錯誤信息非常無益。我創建了一張修復錯誤消息的票據(不幸的是,它是私人的,但在討論DataStax問題時可以使用此票號:OPSC-4826)

要解決此問題,請嘗試在您的地址中設置cassandra_install_location。該節點上的yaml文件。調整address.yaml後,請退回代理程序,然後重試該操作。

你可以找到一份文件,列出這一點,這裏更address.yaml配置項:http://www.datastax.com/documentation/opscenter/5.1/opsc/configure/agentAddressConfiguration.html

+0

當Cassandra從tarball安裝時需要cassandra_install_location。但在我的情況下,cassandra是從deb安裝的。 – Maxiko 2015-03-25 08:21:03

+0

嗨@Maxiko,你能嘗試設置嗎?謝謝。 – Dio 2015-03-25 15:40:07

+0

還需要了解的是確保代理正在運行的身份具有對cassandra歸檔屬性文件的讀/寫權限。 – Dio 2015-03-27 15:15:25

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 
+0

我有4個相似的節點。在第一個節點上有一個錯誤,但其餘的都可以! – Maxiko 2015-03-06 10:05:00

+0

在Datastax網站(http://www.datastax.com/documentation/opscenter/5.1/opsc/install/installStandalone.html)它說: 先決條件 根或sudo訪問作爲系統服務安裝時,和如果安裝缺少系統依賴關係。 最新版本的Oracle Java SE運行時環境7,不是OpenJDK。請參閱安裝Oracle JRE。 – LHWizard 2015-03-06 15:37:15

+0

我將Java更新到Oracle Java 7,但仍然得到此錯誤 – Maxiko 2015-03-09 05:34:43