Проблема

Проблема

Проблема

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

startup.logа также agent.logоба показывают повторяющиеся:

ОШИБКА [main] 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-агент(5.1) под Ubuntu 14.04.LTS от официального лица http://debian.datastax.com/community stable mainна экземпляре EC2. Мойадрес.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

решение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 status. Убедитесь, что сервер opscenterd может достичь агента на узле, используя широковещательный адрес rpc агента ip.

решение2

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

cassandra_user: <username>
cassandra_pass: <password>

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

решение3

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

Связанный контент