
Instalei o Datastax Community Edition v2.0.3 em uma máquina Windows Server 2012 R2 Datacenter. Após uma instalação simples, não consigo me conectar ao banco de dados com o OpsCenter porque o agente falhou ao iniciar: aparece "0 de 1 agentes conectados" na parte superior da página. Posso me conectar ao próprio banco de dados usando CQLSH. Este problema não ocorre com a v2.0.2.
Meu datastax_opscenter_agent-stderr.log
arquivo contém o seguinte:
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)
Na verdade, existe um cassandra.yaml
arquivo no C:\Program Files\DataStax Community\apache-cassandra\conf
diretório onde ele deveria estar. A mensagem acima afirma que ela foi pesquisada C:\\Program Files\\DataStax Community\\apache-cassandra\\bin\\conf\\cassandra.yaml
(observe o \bin).
Definir a conf_location
opção no opscenter\conf\clusters\local.conf
, conforme sugestão do log, resulta no mesmo erro.
O Firewall do Windows foi desligado durante tudo isso.
Editar
Estive mexendo um pouco e agora recebo a mesma exceção no log, exceto que o caminho onde ele está procurando cassanda.yaml
mudou de
'C:\Arquivos de programas\Comunidade DataStax\apache-cassandra\bin\conf\cassandra.yaml'
para
'C:\Arquivos de programas\Comunidade DataStax\utils\conf\cassandra.yaml'
Não tenho ideia do que fiz para mudar isso.
Tentei copiar cassandra.yaml para o diretório acima. Isso elimina a exceção no datastax_opscenter_agent-stderr.log
, mas o OpsCenter ainda diz "0 de 1 agentes conectados". No entanto, o Dashboard agora mostra dados nos gráficos. Também posso adicionar um keyspace ao esquema, mas ele não aparecerá depois de criá-lo. No entanto , é acessível usando CLQSH
. Obviamente estar cassandra.yaml
em dois lugares diferentes também não é o ideal.
Responder1
Para a localização de cassandra.yaml, você pode definir cassandra_conf: "C:\Program Files\DataStax Community\apache-cassandra\bin\conf\cassandra.yaml"
address.yaml, substituindo pelo caminho adequado, se necessário. Você precisará reiniciar o serviço do agente.
mas o OpsCenter ainda diz "0 de 1 agente conectado".
Eu verificaria o agent.log em busca de erros de conexão com o processo central de operações. O fato de estar coletando e armazenando dados (gráficos) significa que ele conseguiu se conectar em algum momento.
Também pode ser uma incompatibilidade de versão entre o opscenterd e o agente, mas isso só ocorreria se você atualizasse um ou outro de forma independente. As incompatibilidades de versão aparecem como não conexões na UI.
Também posso adicionar um keyspace ao esquema, mas ele não aparecerá depois de criá-lo.
Pode levar cerca de um minuto para que o keyspace apareça no OpsCenter. Se ainda não aparecer após atualizar a IU, você pode compartilhar especificamente como você o criou?
Responder2
Resolvi o problema com a ajuda do meu equivalenteEntão pergunta.
Eu estava usando aspas ao definir conf_location
no local.conf
arquivo, remover as aspas resolveu o problema.
Responder3
Tive o mesmo problema no Windows 7 x64 ao instalar o DataStax Community Edition v1.2.15. Fiz funcionar e, após o backup e a reversão, usei o Beyond Compare para identificar exatamente qual alteração realmente corrigiu isso. Há alguma ambigüidade na resposta correta de Rik e nopergunta SO equivalente, portanto, estou fornecendo uma resposta mais completa.
Em C:\Program Files\DataStax Community\opscenter\conf\clusters\local.conf, o conteúdo padrão de ..
[cassandra]
seed_hosts = 127.0.0.1
.. deveria ser ..
[cassandra]
seed_hosts = 127.0.0.1
conf_location = C:\\Program Files\\DataStax Community\\apache-cassandra\\conf\\cassandra.yaml
Reinicie os serviços e, em seguida, no OpsCenter, se ainda aparecer "0 de 1 agentes", clique no link "Corrigir agora". No meu caso, só quando cliquei neste link ele foi atualizado automaticamente e mostrou "1 de 1" sem qualquer aviso ou alerta.