Я не могу заставить 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 сработало.)