
He instalado Datastax Community Edition v2.0.3 en una máquina con Windows Server 2012 R2 Datacenter. Después de una instalación básica, no puedo conectarme a la base de datos con OpsCenter porque el agente no pudo iniciarse: dice "0 de 1 agentes conectados" en la parte superior de la página. Puedo conectarme a la base de datos usando CQLSH. Este problema no ocurre con v2.0.2.
Mi datastax_opscenter_agent-stderr.log
archivo contiene lo siguiente:
2013-12-05 16:16:54 Commons Daemon procrun stderr initialized
Exception in thread "Initialization" clojure.lang.ExceptionInfo: throw+: {:type :bad-permissions, :message "Unable to locate the cassandra.yaml configuration file. If your configuration file is not located with the Cassandra install, please set the 'conf_location' option in the Cassandra section of the OpsCenter cluster configuration file and restart opscenterd. Checked the following directories: [\"/etc/dse/cassandra/cassandra.yaml\" \"/etc/cassandra/conf/cassandra.yaml\" \"/etc/cassandra/cassandra.yaml\" \"C:\\\\Program Files\\\\DataStax Community\\\\apache-cassandra\\\\bin\\\\conf\\\\cassandra.yaml\"]"} {:object {:type :bad-permissions, :message "Unable to locate the cassandra.yaml configuration file. If your configuration file is not located with the Cassandra install, please set the 'conf_location' option in the Cassandra section of the OpsCenter cluster configuration file and restart opscenterd. Checked the following directories: [\"/etc/dse/cassandra/cassandra.yaml\" \"/etc/cassandra/conf/cassandra.yaml\" \"/etc/cassandra/cassandra.yaml\" \"C:\\\\Program Files\\\\DataStax Community\\\\apache-cassandra\\\\bin\\\\conf\\\\cassandra.yaml\"]"}, :environment {tar-location "C:\\Program Files\\DataStax Community\\apache-cassandra\\bin\\conf\\cassandra.yaml", conf nil, checked-files ["/etc/dse/cassandra/cassandra.yaml" "/etc/cassandra/conf/cassandra.yaml" "/etc/cassandra/cassandra.yaml" "C:\\Program Files\\DataStax Community\\apache-cassandra\\bin\\conf\\cassandra.yaml"]}}
at opsagent.util.cassandra_util$cassandra_conf_location.invoke(cassandra_util.clj:118)
at opsagent.util.cassandra_util$get_cassandra_conf.invoke(cassandra_util.clj:130)
at opsagent.opsagent$create_thrift_conf_vars.invoke(opsagent.clj:52)
at opsagent.opsagent$setup_thrift.invoke(opsagent.clj:138)
at opsagent.jmx$determine_ip.invoke(jmx.clj:333)
at opsagent.jmx$setup_jmx$fn__1309.invoke(jmx.clj:350)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Unknown Source)
De hecho, hay un cassandra.yaml
archivo en el C:\Program Files\DataStax Community\apache-cassandra\conf
directorio donde se supone que debe estar. Sin embargo , el mensaje anterior indica que buscó en C:\\Program Files\\DataStax Community\\apache-cassandra\\bin\\conf\\cassandra.yaml
. (observe el \bin).
Configurar la conf_location
opción en opscenter\conf\clusters\local.conf
, según la sugerencia del registro, produce el mismo error.
El Firewall de Windows se ha desactivado durante todo esto.
Editar
He estado jugueteando un poco y ahora aparece la misma excepción en el registro, excepto que la ruta donde estaba buscando cassanda.yaml
ha cambiado de
'C:\Archivos de programa\DataStax Community\apache-cassandra\bin\conf\cassandra.yaml'
a
'C:\Archivos de programa\DataStax Community\utils\conf\cassandra.yaml'
No tengo idea de qué hice para cambiar esto.
Intenté copiar cassandra.yaml al directorio anterior. Esto elimina la excepción en datastax_opscenter_agent-stderr.log
, pero OpsCenter todavía dice "0 de 1 agentes conectados". Sin embargo, el Panel ahora muestra datos en los gráficos. También puedo agregar un espacio de claves al esquema, pero no aparecerá después de crearlo. Sin embargo , es accesible usando CLQSH
. Evidentemente tenerlo cassandra.yaml
en dos lugares distintos tampoco es lo ideal.
Respuesta1
Para la ubicación de cassandra.yaml, puede establecerla cassandra_conf: "C:\Program Files\DataStax Community\apache-cassandra\bin\conf\cassandra.yaml"
en dirección.yaml, sustituyendo la ruta adecuada si es necesario. Deberá reiniciar el servicio del agente.
pero OpsCenter todavía dice "0 de 1 agentes conectados".
Verificaría el agent.log en busca de errores al conectarse al proceso central de operaciones. El hecho de que esté recopilando y almacenando datos (gráficos) significa que pudo conectarse en algún momento.
También puede haber una discrepancia de versión entre opscenterd y el agente, pero eso solo ocurriría si actualiza uno u otro de forma independiente. Las discrepancias de versiones aparecen como no conexiones en la interfaz de usuario.
También puedo agregar un espacio de claves al esquema, pero no aparecerá después de crearlo.
Es posible que el espacio de claves tarde aproximadamente un minuto en aparecer en OpsCenter. Si aún no aparece después de actualizar la interfaz de usuario, ¿puedes compartir específicamente cómo lo creaste?
Respuesta2
Resolví el problema con la ayuda de mi equivalente.Entonces pregunta.
Estaba usando comillas al configurar el conf_location
archivo local.conf
, eliminar las comillas resolvió el problema.
Respuesta3
Tuve el mismo problema en Windows 7 x64 al instalar DataStax Community Edition v1.2.15. Lo hice funcionar y luego, después de realizar la copia de seguridad y la reversión, utilicé Beyond Compare para identificar exactamente qué cambio realmente solucionó este problema. Hay cierta ambigüedad en la respuesta correcta de Rik y en lapregunta SO equivalente, por lo que estoy proporcionando una respuesta más completa.
En C:\Program Files\DataStax Community\opscenter\conf\clusters\local.conf, el contenido predeterminado de ..
[cassandra]
seed_hosts = 127.0.0.1
.. en su lugar debería ser ..
[cassandra]
seed_hosts = 127.0.0.1
conf_location = C:\\Program Files\\DataStax Community\\apache-cassandra\\conf\\cassandra.yaml
Reinicie los servicios y luego en OpsCenter, si todavía dice "0 de 1 agentes", haga clic en el enlace "Reparar ahora". En mi caso, no fue hasta que hice clic en este enlace que se actualizó automáticamente y mostró "1 de 1" sin ningún mensaje ni alerta.