
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에서는 여전히 "에이전트 1개 중 0개 연결됨"이라고 표시됩니다. 그러나 이제 대시보드에는 데이터가 그래프로 표시됩니다. 스키마에 키스페이스를 추가할 수도 있지만 생성한 후에는 표시되지 않습니다. 그러나 를 사용하여 액세스할 수 있습니다 CLQSH
. 분명히 cassandra.yaml
서로 다른 두 장소에 있는 것도 이상적이지 않습니다.
답변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에 키스페이스가 표시되는 데 몇 분 정도 걸릴 수 있습니다. UI를 새로 고친 후에도 여전히 표시되지 않으면 어떻게 생성했는지 구체적으로 공유해 주실 수 있나요?
답변2
나는 동등한 도움을 받아 문제를 해결했습니다.그래서 질문.
conf_location
파일 에 설정할 때 따옴표를 사용했는데 local.conf
따옴표를 제거하면 문제가 해결되었습니다.
답변3
DataStax Community Edition v1.2.15를 설치하는 동안 Windows 7 x64에서도 동일한 문제가 발생했습니다. 작동하게 한 다음 백업 및 롤백 후 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"이 표시되었습니다.