DataStax Opscenter代理不';t connect:“;找不到cassandra.yaml配置文件;

DataStax Opscenter代理不';t connect:“;找不到cassandra.yaml配置文件;,cassandra,cassandra-2.0,windows-server-2012-r2,Cassandra,Cassandra 2.0,Windows Server 2012 R2,我已在Windows Server 2012 R2数据中心计算机上安装了Datastax Community Edition v2.0.3。 普通安装后,我无法使用Opscener连接到数据库,因为代理无法启动:页面顶部显示“已连接的1个代理中的0个”。我可以使用CQLSH连接到数据库本身。v2.0.2不会出现此问题 我的datastax\u opscenter\u agent-stderr.log文件包含以下内容: 2013-12-05 16:16:54 Commons Daemon proc

我已在Windows Server 2012 R2数据中心计算机上安装了Datastax Community Edition v2.0.3。 普通安装后,我无法使用Opscener连接到数据库,因为代理无法启动:页面顶部显示“已连接的1个代理中的0个”。我可以使用CQLSH连接到数据库本身。v2.0.2不会出现此问题

我的
datastax\u opscenter\u 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) 
实际上,在
C:\Program Files\DataStax Community\apache cassandra\conf
目录中有一个
cassandra.yaml
文件。上面的消息指出它在
C:\\Program Files\\DataStax Community\\apache cassandra\\bin\\conf\\cassandra.yaml中查找过(注意\bin)

根据日志的建议,在
opscenter\conf\clusters\local.conf
中设置
conf\u location
选项会导致相同的错误

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\u opscenter\u agent-stderr.log中的异常,但opscenter仍然表示“已连接的1个代理中的0个”。但是,仪表板现在在图形中显示数据。我还可以向模式中添加键空间,但在我创建它之后它不会显示。不过,可以使用
CLQSH
访问它。显然,在两个不同的地方使用
cassandra.yaml也不理想

我通过如下设置conf_location属性修复了此问题:

conf_location = C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra.yaml

起初,我在路径周围使用引号,但这不起作用。删除引号成功了。

我通过如下设置conf_location属性解决了这个问题:

conf_location = C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra.yaml

起初,我在路径周围使用引号,但这不起作用。删除引号就成功了。

在安装DataStax Community Edition v1.2.15时,我在Windows 7 x64中遇到了同样的问题。我让它工作起来,然后在备份和回滚之后,我用超越比较来确定到底是什么变化解决了这个问题。khaledh在其他方面正确的答案和中存在一些歧义,因此我提供了一个更完整的答案

在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”,没有任何提示或警报。

在安装DataStax Community Edition v1.2.15时,我在Windows 7 x64中遇到了同样的问题。我让它工作起来,然后在备份和回滚之后,我用超越比较来确定到底是什么变化解决了这个问题。khaledh在其他方面正确的答案和中存在一些歧义,因此我提供了一个更完整的答案

在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”,没有任何提示或警报。

我通过在代理配置文件address.yaml中添加条目修复了这个问题

步骤

  • 登录到代理计算机

  • 停止剂

  • 如果尚未添加JAVA_主页,请添加该主页

  • 编辑(如果不存在则创建)address.yaml (位于/etc/datastax agent/如果您使用package manager安装了OpsCenter代理)

  • 将条目添加为
  • 卡桑德拉·奥乌形态:

  • 启动代理

  • 重新启动opscenter-在重新启动opscenter之前,新代理不会显示

  • cassandra_conf:/usr/lib/cassandra-2.0.5/conf/cassandra.yaml

    如果不存在,则创建


    (对于适用于Opscenter和Agent的DataStax 5.0.1版)

    我通过在Agent配置文件address.yaml中添加条目修复了此问题

    步骤

  • 登录到代理计算机

  • 停止剂

  • 如果尚未添加JAVA_主页,请添加该主页

  • 编辑(如果不存在则创建)address.yaml (位于/etc/datastax agent/如果您使用package manager安装了OpsCenter代理)

  • 将条目添加为
  • 卡桑德拉·奥乌形态:

  • 启动代理

  • 重新启动opscenter-在重新启动opscenter之前,新代理不会显示

  • cassandra_conf:/usr/lib/cassandra-2.0.5/conf/cassandra.yaml

    如果不存在,则创建


    (对于适用于Opscenter和Agent的DataStax版本5.0.1)

    在DataStax社区安装程序的v1.2.15版本中,这是一个观察到的问题,但在使用v2.0.7的重置计算机上进行的新安装中,这不是一个观察到的问题。2.1.9仍然存在此问题。在DataStax社区安装程序的v1.2.15中,这是一个观察到的问题,但在使用v2.0.7的重置计算机上进行的新安装中,这不是一个观察到的问题。2.1.9仍然存在此问题。