0

我正在设置一个新的 C* 集群并使用 apt-get 安装 OpsCenter 4.0;这很好,看到了我所有的节点。

我设置了一个 ~/.ssh/id_dsa 文件,并且可以在没有密码的情况下通过 ssh 连接到我的节点。

我试图让 OpsCenter 通过“修复”安装代理。在“节点 SSH 凭据”对话框中提供私钥……但我得到“无法通过 SSH 连接到……错误输出:权限被拒绝(公钥)。

我很困惑如何从 cmd 行 ssh,但 OpsCenter 不能。

然后我尝试手动安装代理(再次使用 apt-get; 和 service opscenterd-agent start),但我在 /var/log/datastax-agent/startup.log 中得到了这个:

 INFO [main] 2013-12-13 13:25:11,035 Loading conf files: /var/lib/datastax-agent/conf/address.yaml
Exception in thread "main" java.lang.ClassCastException: java.lang.Character cannot be cast to java.util.Map$Entry
        at opsagent.conf$load_conf_file$fn__1185$fn__1186.invoke(conf.clj:197)
        at clojure.core$map$fn__4207.invoke(core.clj:2487)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:60)
        at clojure.lang.RT.seq(RT.java:484)
        at clojure.core$seq.invoke(core.clj:133)
        at clojure.core.protocols$seq_reduce.invoke(protocols.clj:30)
        at clojure.core.protocols$fn__6026.invoke(protocols.clj:54)
        at clojure.core.protocols$fn__5979$G__5974__5992.invoke(protocols.clj:13)
        at clojure.core$reduce.invoke(core.clj:6177)
        at clojure.core$into.invoke(core.clj:6229)
        at opsagent.conf$load_conf_file.invoke(conf.clj:195)
        at clojure.core$map$fn__4207.invoke(core.clj:2487)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:60)
        at clojure.lang.RT.seq(RT.java:484)
        at clojure.core$seq.invoke(core.clj:133)
        at clojure.core.protocols$seq_reduce.invoke(protocols.clj:30)
        at clojure.core.protocols$fn__6026.invoke(protocols.clj:54)
        at clojure.core.protocols$fn__5979$G__5974__5992.invoke(protocols.clj:13)
        at clojure.core$reduce.invoke(core.clj:6177)
        at clojure.core$into.invoke(core.clj:6229)
        at opsagent.conf$load_conf.invoke(conf.clj:209)
        at opsagent.opsagent$_main.doInvoke(opsagent.clj:228)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at opsagent.opsagent.main(Unknown Source)

(我的address.yaml文件是:stomp_interface=1.2.3.4 //当然有不同的数字

多年来,我一直在使用以前版本的 C* 和 OpsCenter,但现在我被困住了,无法启动并运行它。

4

2 回答 2

2

您正在使用“=”,其中 yaml 语法需要“:”。所以你的 stomp_interface 线应该是这样的:

stomp_interface: 1.2.3.4

您需要重新启动 datastax-agent 才能使其生效。

于 2013-12-16T03:23:51.037 回答
-2

我在 ~/.ssh/id_dsa 中输入了我的私有 ssh 密钥(我在 EC2 上以用户“ubuntu”的身份运行。

一时兴起,我搜索了其他 .ssh 目录并找到了 /root/.ssh。

我将 id_dsa 文件复制到该目录,这一次 OpsCenter 能够与集群中的所有节点通信并安装代理。

尽管这“解决了”问题,但它有点令人不满意,因为 OpsCenter 的说明并没有说明这一点,而且我不确定我应该如何知道寻找这个其他 .ssh 目录。另一方面,它正在工作:-)。

于 2013-12-16T21:41:10.853 回答