Problema

Problema

Problema

Não consigo fazer com que o OpsCenter se conecte ao agente datastax. Parece que o datastax-agent inicia e tenta se conectar ao cassandra, falha porque não conhece as credenciais corretas, mas também não inicia o servidor Jetty para receber as credenciais do opscenter. Então ele tenta e tenta novamente, mas nunca se conecta. Quando cassandra permite todas as conexões (sem autenticação), minha configuração funciona bem.

startup.logbem como agent.logambos mostram repetidos:

ERRO [principal] 03-03-2015 21:19:43.106 Não é possível conectar-se ao Cassandra, tentando novamente com.datastax.driver.core.exceptions.AuthenticationException: Erro de autenticação no host /127.0.0.1:9042: Host /127.0.0.1 :9042 requer autenticação, mas nenhum autenticador encontrado na configuração do cluster

Configurar

Eu instaleiagente datastax(5.1) no Ubuntu 14.04.LTS do oficial http://debian.datastax.com/community stable mainem uma instância EC2. Meuendereço.ymlse parece com isso:

stomp_interface: PUBLIC_IP_OF_OPSCENTER_NODE
local_interface: PUBLIC_IP_OF_NODE
agente_rpc_interface: PRIVATE_IP_OF_NODE
agente_rpc_broadcast_address: PUBLIC_IP_OF_NODE

Também tentei adicionar cassandra_install_location: /opt/cassandra, mas não parece ajudar. Cassandra (2.1) é instalado via tarball e roda como user ubuntu, datastax-agent também roda como ubuntu.

Pergunta

O que estou faltando para que o agente datastax e o opscenter se comuniquem quando o cassandra requer autenticação?

Editar% s:

O startup.logpós-lançamento:

log4j:WARN No appenders could be found for logger (com.datastax.driver.core.SystemProperties).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
 INFO [main] 2015-03-10 11:35:50,361 Loading conf files: /var/lib/datastax-agent/conf/address.yaml
 INFO [main] 2015-03-10 11:35:50,412 Java vendor/version: Java HotSpot(TM) 64-Bit Server VM/1.7.0_76
 INFO [main] 2015-03-10 11:35:50,412 DataStax Agent version: 5.1.0
 INFO [main] 2015-03-10 11:35:50,490 Default config values: { ... }
 INFO [main] 2015-03-10 11:35:50,685 Waiting for the config from OpsCenter
 INFO [main] 2015-03-10 11:35:50,686 Using XX.XX.XXX.XXX as the cassandra broadcast address
 INFO [main] 2015-03-10 11:35:50,686 New JMX connection (127.0.0.1:7199)
 INFO [main] 2015-03-10 11:35:50,889 cassandra RPC address is  nil
ERROR [main] 2015-03-10 11:35:51,048 Can't connect to Cassandra, retrying
 com.datastax.driver.core.exceptions.AuthenticationException: Authentication error on host /127.0.0.1:9042: Host /127.0.0.1:9042 requires authentication, but no authenticator found in Cluster configuration

Responder1

Nicolas confiraesta documentação. Com o cassandra configurado para usar autenticação interna, o nome de usuário e a senha do cassandra são definidos no arquivo de configuração do cluster para opscenter no servidor opscenterd. O arquivo é chamado .conf

[cassandra] username
The thrift username to Cassandra if thrift authentication is enabled.
[cassandra] password
The thrift password to Cassandra if thrift authentication is enabled.

Se isso estiver configurado corretamente e seus agentes ainda não conseguirem se conectar, você também poderá verificar se os vários endereços IP definidos em seu address.yaml estão corretos para sua instalação.

Especificamente, o nó cassandra pode alcançar o servidor opscenterd por meio da interface pública? Verifique se o endereço IP local_interface corresponde ao ip do nó, conforme visto na saída de status do nodetool. Verifique se o servidor opscenterd pode alcançar o agente no nó usando o endereço IP de transmissão do agente rpc.

Responder2

Você pode tentar configurar manualmente as credenciais em seu address.yamlarquivo de configuração.

cassandra_user: <username>
cassandra_pass: <password>

Veja oconfiguração do agente datastaxe aguia de atualização para 5.1, porque alguns parâmetros foram alterados.

Responder3

A resposta de Clement funcionou para mim. Usando 5.1 no Solaris 11. (Como no Solaris, não há instalação de pacote fornecida, portanto, uma instalação manual do tar e inicialização manual do Cassandra, do agente e do opscenter. Observe também que o script do opscenter precisava de ajustes, porque decidiu poderia usar 'epoll' como reator, o que não é suportado. Forçar o uso de 'select' funcionou.)

informação relacionada