Агент DataStax Opscenter не может подключиться: «Не удалось найти файл конфигурации cassandra.yaml»

Агент DataStax Opscenter не может подключиться: «Не удалось найти файл конфигурации cassandra.yaml»

Я установил Datastax Community Edition v2.0.3 на машину Windows Server 2012 R2 Datacenter. После установки vanilla я не могу подключиться к базе данных с помощью OpsCenter, потому что агент не запустился: в верхней части страницы написано "0 из 1 подключенных агентов". Я могу подключиться к самой базе данных с помощью CQLSH. Эта проблема не возникает с v2.0.2.

Мой datastax_opscenter_agent-stderr.logфайл содержит следующее:

2013-12-05 16:16:54 Commons Daemon procrun stderr initialized
Exception in thread "Initialization" clojure.lang.ExceptionInfo: throw+: {:type :bad-permissions, :message "Unable to locate the cassandra.yaml configuration file. If your configuration file is not located with the Cassandra install, please set the 'conf_location' option in the Cassandra section of the OpsCenter cluster configuration file and restart opscenterd. Checked the following directories: [\"/etc/dse/cassandra/cassandra.yaml\" \"/etc/cassandra/conf/cassandra.yaml\" \"/etc/cassandra/cassandra.yaml\" \"C:\\\\Program Files\\\\DataStax Community\\\\apache-cassandra\\\\bin\\\\conf\\\\cassandra.yaml\"]"} {:object {:type :bad-permissions, :message "Unable to locate the cassandra.yaml configuration file. If your configuration file is not located with the Cassandra install, please set the 'conf_location' option in the Cassandra section of the OpsCenter cluster configuration file and restart opscenterd. Checked the following directories: [\"/etc/dse/cassandra/cassandra.yaml\" \"/etc/cassandra/conf/cassandra.yaml\" \"/etc/cassandra/cassandra.yaml\" \"C:\\\\Program Files\\\\DataStax Community\\\\apache-cassandra\\\\bin\\\\conf\\\\cassandra.yaml\"]"}, :environment {tar-location "C:\\Program Files\\DataStax Community\\apache-cassandra\\bin\\conf\\cassandra.yaml", conf nil, checked-files ["/etc/dse/cassandra/cassandra.yaml" "/etc/cassandra/conf/cassandra.yaml" "/etc/cassandra/cassandra.yaml" "C:\\Program Files\\DataStax Community\\apache-cassandra\\bin\\conf\\cassandra.yaml"]}}
    at opsagent.util.cassandra_util$cassandra_conf_location.invoke(cassandra_util.clj:118)
    at opsagent.util.cassandra_util$get_cassandra_conf.invoke(cassandra_util.clj:130)
    at opsagent.opsagent$create_thrift_conf_vars.invoke(opsagent.clj:52)
    at opsagent.opsagent$setup_thrift.invoke(opsagent.clj:138)
    at opsagent.jmx$determine_ip.invoke(jmx.clj:333)
    at opsagent.jmx$setup_jmx$fn__1309.invoke(jmx.clj:350)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.lang.Thread.run(Unknown Source) 

На самом деле файл есть cassandra.yamlв C:\Program Files\DataStax Community\apache-cassandra\confкаталоге, где ему и положено быть. В сообщении выше говорится, что он искал в C:\\Program Files\\DataStax Community\\apache-cassandra\\bin\\conf\\cassandra.yaml, хотя (обратите внимание на \bin).

Установка conf_locationопции opscenter\conf\clusters\local.confв соответствии с предложением журнала приводит к той же ошибке.

Брандмауэр Windows был отключен.

Редактировать

Я немного повозился, и теперь я получаю то же самое исключение в журнале, за исключением того, что путь, по которому оно искало, cassanda.yamlизменился с

'C:\Program Files\DataStax Community\apache-cassandra\bin\conf\cassandra.yaml'

к

'C:\Program Files\DataStax Community\utils\conf\cassandra.yaml'

Понятия не имею, что я сделал, чтобы это изменить.

Я попробовал скопировать cassandra.yaml в указанный выше каталог. Это избавляет от исключения в datastax_opscenter_agent-stderr.log, но OpsCenter по-прежнему говорит "0 из 1 подключенных агентов". Однако панель мониторинга теперь показывает данные в графиках. Я также могу добавить пространство ключей в схему, но оно не отображается после того, как я его создал. CLQSHОднако оно доступно с помощью . Очевидно, что наличие cassandra.yamlв двух разных местах тоже не является идеальным вариантом.

решение1

Расположение cassandra.yaml можно задать cassandra_conf: "C:\Program Files\DataStax Community\apache-cassandra\bin\conf\cassandra.yaml"в address.yaml, заменив правильный путь, если необходимо. Вам нужно будет перезапустить службу агента.

но OpsCenter по-прежнему показывает «0 из 1 подключенных агентов».

Я бы проверил agent.log на наличие ошибок при подключении к центральному процессу opscenterd. Тот факт, что он собирает и хранит данные (графики), означает, что в какой-то момент он смог подключиться.

Это также может быть несоответствие версий между opscenterd и агентом, но это может произойти только если вы обновили один или другой независимо. Несоответствия версий отображаются как отсутствие соединений в пользовательском интерфейсе.

Я также могу добавить в схему пространство ключей, но оно не отображается после создания.

Может потребоваться около минуты, чтобы пространство клавиш появилось в OpsCenter. Если оно все еще не появляется после обновления пользовательского интерфейса, можете ли вы поделиться подробностями того, как вы его создали?

решение2

Я решил проблему с помощью моего эквивалентаТАКОЙ вопрос.

Я использовал кавычки при настройке conf_locationв local.confфайле, удаление кавычек решило проблему.

решение3

У меня была та же проблема в Windows 7 x64 при установке DataStax Community Edition v1.2.15. Я заставил ее работать, а затем после резервного копирования и отката я использовал Beyond Compare, чтобы точно определить, какое изменение на самом деле исправило это. Есть некоторая двусмысленность в правильном ответе Рика и вэквивалентный вопрос SO, поэтому я даю более полный ответ.

В C:\Program Files\DataStax Community\opscenter\conf\clusters\local.conf содержимое по умолчанию ..

[cassandra]
seed_hosts = 127.0.0.1

.. вместо этого должно быть ..

[cassandra]
seed_hosts = 127.0.0.1
conf_location = C:\\Program Files\\DataStax Community\\apache-cassandra\\conf\\cassandra.yaml

Перезапустите службы, а затем в OpsCenter, если там все еще написано "0 из 1 агентов", нажмите на ссылку "Исправить сейчас". В моем случае, пока я не нажал на эту ссылку, она сама не обновилась и не показала "1 из 1" без каких-либо подсказок или предупреждений.

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