Reputation: 2375
I'm setting up a new C* cluster and used apt-get to install OpsCenter 4.0; which came up fine and saw all my nodes.
I have an ~/.ssh/id_dsa file set up and can ssh to my nodes without password.
I tried to have OpsCenter install the agents via "fix"..supplying the private key in the "Node SSH Credentials" dialog...but I get "Failed to SSH to ...Error output: Permission denined (publickey).
I'm puzzled how I can ssh from cmd line but OpsCenter can't.
I then tried installing agents manually (again using apt-get; and service opscenterd-agent start) but I get this in the /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)
(my address.yaml file is: stomp_interface=1.2.3.4 // with different numbers of course
I've used previous versions of C* and OpsCenter for years but I'm stuck now to get this one up and running.
Upvotes: 0
Views: 1199
Reputation: 2375
I had entered my private ssh key in ~/.ssh/id_dsa (I'm running on EC2 as user "ubuntu".
On a whim I searched for other .ssh directories and found /root/.ssh.
I copied the id_dsa file to that directory and this time OpsCenter was able to talk to all of nodes in my cluster and install the agent.
Although this "solves" the problem its a bit unsatisfying as the OpsCenter directions don't say anything about this and I'm not sure how I should have known to look for this other .ssh directory. On the other hand, it is working :-).
Upvotes: -2
Reputation: 470
You're using a "=" where yaml syntax expects a ":". So what your stomp_interface line should look like:
stomp_interface: 1.2.3.4
You'll need to restart the datastax-agent for this to take effect.
Upvotes: 2