DataStax Opscenter Agent が接続できません: 「cassandra.yaml 構成ファイルが見つかりません」

DataStax Opscenter Agent が接続できません: 「cassandra.yaml 構成ファイルが見つかりません」

Windows Server 2012 R2 Datacenter マシンに Datastax Community Edition v2.0.3 をインストールしました。バニラ インストール後、エージェントが起動に失敗したため、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.yaml2 つの異なる場所に置くのも理想的ではありません。

答え1

cassandra.yaml の場所については、cassandra_conf: "C:\Program Files\DataStax Community\apache-cassandra\bin\conf\cassandra.yaml"必要に応じて適切なパスに置き換えて address.yaml で設定できます。エージェント サービスを再起動する必要があります。

しかし、OpsCenter では依然として「1 エージェントのうち 0 エージェントが接続されています」と表示されます。

中央の opscenterd プロセスへの接続時にエラーが発生していないか、agent.log を確認します。データ (グラフ) を収集して保存しているということは、ある時点で接続できたことを意味します。

opscenterd とエージェントのバージョンが一致していない可能性もありますが、これはどちらか一方を個別にアップグレードした場合にのみ発生します。バージョンの不一致は、UI で非接続として表示されます。

スキーマにキースペースを追加することもできますが、作成後に表示されません。

キースペースが OpsCenter に表示されるまで 1 分ほどかかる場合があります。UI を更新してもまだ表示されない場合は、キースペースを作成した具体的な方法を教えてください。

答え2

私は同等の助けを借りて問題を解決しました質問です

conf_locationファイル内で設定するときに引用符を使用していましたがlocal.conf、引用符を削除すると問題は解決しました。

答え3

Windows 7 x64でDataStax Community Edition v1.2.15をインストールしているときに同じ問題が発生しました。動作を確認した後、バックアップとロールバックを行った後、Beyond Compareを使用して、実際にどの変更でこの問題が解決されたかを正確に特定しました。Rikの回答には、それ以外は正しいが、同等の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」と表示されました。

関連情報