Назад | Перейти на главную страницу

Агент DataStax OpsCenter не запускается, когда Cassandra требует аутентификации

Проблема

Я не могу заставить OpsCenter подключиться к datastax-agent. Кажется, что datastax-agent запускается и пытается подключиться к cassandra, терпит неудачу, потому что он не знает правильных учетных данных, но также не запускает сервер Jetty для получения учетных данных от opscenter. Таким образом, он пытается и пытается, но никогда не подключается. Когда cassandra разрешает все соединения (без аутентификации), моя установка работает нормально.

startup.log так же как agent.log оба шоу повторяются:

ОШИБКА [основная] 2015-03-03 21: 19: 43,106 Не удается подключиться к Cassandra, повторная попытка com.datastax.driver.core.exceptions.AuthenticationException: Ошибка аутентификации на хосте /127.0.0.1:9042: Хост /127.0.0.1 : 9042 требует аутентификации, но аутентификатор не найден в конфигурации кластера

Настроить

Я установил datastax-agent (5.1) под Ubuntu 14.04.LTS из официального http://debian.datastax.com/community stable main на экземпляре EC2. Мой address.yml выглядит так:

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

Я тоже пытался добавить cassandra_install_location: /opt/cassandra но, похоже, это не помогает. Cassandra (2.1) устанавливается через tarball и запускается от имени пользователя ubuntu, datastax-agent также работает как ubuntu.

Вопрос

Что мне не хватает, чтобы связать datastax-agent и opscenter, когда cassandra требует аутентификации?

Редактирует:

В startup.log после запуска:

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

Вы можете попробовать настроить учетные данные вручную в своем address.yaml Файл конфигурации.

cassandra_user: <username>
cassandra_pass: <password>

Увидеть конфигурация агента передачи данных и руководство по обновлению до 5.1, потому что некоторые параметры изменились.

Николас проверить эта документация. Если cassandra настроена на использование внутренней аутентификации, имя пользователя и пароль cassandra задаются в файле конфигурации кластера для opscenter на сервере opscenterd. Файл называется .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.

Если это установлено правильно, а ваши агенты по-прежнему не могут подключиться, вы также можете проверить, что различные IP-адреса, указанные в вашем address.yaml, верны для вашей установки.

В частности, может ли узел cassandra связаться с сервером opscenterd через общедоступный интерфейс? Убедитесь, что IP-адрес local_interface совпадает с IP-адресом узла, как показано в выходных данных состояния nodetool. Убедитесь, что сервер opscenterd может связаться с агентом на узле, используя широковещательный IP-адрес rpc агента.

Ответ Климента сработал для меня. Использование 5.1 в Solaris 11. (Поскольку в Solaris не предусмотрена установка пакета, то есть ручная установка tar и ручной запуск Cassandra, агента и opscenter. Также обратите внимание, что сценарий opscenter нуждался в настройке, потому что он решил, что это мог использовать epoll в качестве реактора, что не поддерживается. Принудительное использование select сработало.)