datastax opscenter "SchedulesNotLoaded" 错误

datastax opscenter "SchedulesNotLoaded" error

我正在使用 Datastax OpsCenter v5.2.4 和 DSE v4.8.4-1。 从几天前开始,我一直无法从 API 和 opscenter UI 检索到 "Best Practice Service" 的结果。 当我尝试获取它时,出现如下错误。

GUI:

Could not retrieve best practice rules: Scheduled jobs have not been loaded yet. There may be a connectivity problem with Cassandra.

opscenterd.log

2016-07-01 19:47:50+0000 [] ERROR: Problem while calling decorator (SchedulesNotLoaded): Scheduled jobs have not been loaded yet. There may be a connectivity problem with Cassandra.
  File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/defer.py", line 1020, in _inlineCallbacks
    result = g.send(result)

  File "/usr/lib/python2.7/dist-packages/opscenterd/WebServer.py", line 1939, in SchedulesGetController

  File "/usr/lib/python2.7/dist-packages/opscenterd/Schedule.py", line 213, in getAllSchedules

  File "/usr/lib/python2.7/dist-packages/opscenterd/Schedule.py", line 175, in _assert_loaded

我尝试重新启动 opscenterd 服务以及重新启动 opscenter 机器本身,但没有任何区别。 该错误表明可能存在一些连接问题,但是 opscenter 使用什么 port/protocol 来加载这些计划的作业? (opscenter 和 cassandra 节点之间没有防火墙) 集群没有alert,agent都按照opscenter的GUI.

连接

我找不到任何相关的故障排除文档...我们如何才能从这种情况中恢复 opscenter?

问题出在时间表设置处于混乱状态时。如果您仅安排一次 运行,并且 opscenterd 在安排到 运行 时关闭,则在启动时 opscenterd 会停止加载该计划。

如果您没有存储任何特别重要的东西,有一个简单的解决方法。关闭 opscenter,使用 cqlsh drop keyspace "OpsCenter"; 并重新启动 opscenter。

否则,您必须手动清理 OpsCenter.settings table 中一些被弄乱的时间表。这是在 6.0 中修复的,所以如果您升级它不会再发生。