O agente DataStax OpsCenter falha ao iniciar quando o Cassandra requer autenticação

1

Problema

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

startup.log e agent.log mostram repetidos:

ERROR [main] 2015-03-03 21:19:43,106 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

Configuração

Instalei datastax-agent (5.1) no Ubuntu 14.04.LTS a partir do oficial http://debian.datastax.com/community stable main em uma instância do EC2. Meu address.yml se parece com isso:

stomp_interface: PUBLIC_IP_OF_OPSCENTER_NODE
local_interface: PUBLIC_IP_OF_NODE
agent_rpc_interface: PRIVATE_IP_OF_NODE
agent_rpc_broadcast_address: PUBLIC_IP_OF_NODE

Eu também tentei adicionar cassandra_install_location: /opt/cassandra , mas isso não parece ajudar. O Cassandra (2.1) é instalado via tarball e é executado como usuário ubuntu , o datastax-agent também é executado como ubuntu .

Pergunta

O que estou perdendo para obter o datastax-agent e o opscenter comunicando quando a cassandra requer autenticação?

Edições:

O startup.log após o 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
    
por Nicolas 04.03.2015 / 09:15

3 respostas

1

Nicolas confere esta documentação . Com o cassandra configurado para usar a autenticação interna, o nome de usuário e a senha da cassandra são definidos no arquivo de configuração do cluster para o 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 configurados em seu endereço.yaml estão corretos para a sua instalação.

Especificamente, o nó da cassandra pode alcançar o servidor opscenterd através do internface público? 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.

    
por 05.03.2015 / 17:17
1

Você pode tentar configurar credenciais manualmente no arquivo de configuração address.yaml .

cassandra_user: <username>
cassandra_pass: <password>

Veja a configuração do agente datastax e o guia de atualização para o 5.1 , porque alguns parâmetros foram alterados.

    
por 13.03.2015 / 15:25
0

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

    
por 25.03.2015 / 20:43