无法在 OpsCenter 中生成集群报告。

无法在 OpsCenter 中生成集群报告。

我无法在 OpsCenter 中生成集群报告。服务器和客户端运行在 CentOS 5.9,64 位上。软件版本:

  • opscenter-3.2.2-1
  • opscenter-代理-3.2.2-1

以下是网络浏览器中报告的错误:

生成集群报告时出错:u'/dev/mapper/Staging3SSTables_vol1'

这是此集群中第三个 Cassandra 节点上的文件系统。该下划线应为连字符:

$ ls -la /dev/mapper/Staging3SSTables_vol1
ls:/dev/mapper/Staging3SSTables_vol1:没有这样的文件或目录

$ ls -la /dev/mapper/Staging3SSTables-vol1
brw-rw---- 1 根磁盘 253,0 10月 7日 13:56 /dev/mapper/Staging3SSTables-vol1

$ df -h /dev/mapper/Staging3SSTables-vol1
文件系统大小已使用可用使用率%安装于
/dev/mapper/Staging3SSTables-vol1
                      551G 199M 522G 1%/var/lib/cassandra/数据

对于集群中的其他节点,我没有收到此错误。

这可能是什么原因造成的?

以下是错误的完整输出opscenterd.log

2013-10-10 08:48:37-0700 [] 错误:生成集群报告时出错。回溯(最近一次调用):
          文件“/usr/lib/python2.6/site-packages/opscenterd/StatsReporter.py”,第 132 行,位于 generateReport 中
          文件“/usr/share/opscenter/lib/py-redhat/2.6/shared/amd64/twisted/internet/defer.py”,第 1018 行,位于 _inlineCallbacks
            结果 = 结果.抛出异常到生成器 (g)
          文件“/usr/share/opscenter/lib/py-redhat/2.6/shared/amd64/twisted/python/failure.py”,第 349 行,位于 throwExceptionIntoGenerator 中
            返回 g.throw(self.type, self.value, self.tb)
          文件“/usr/lib/python2.6/site-packages/opscenterd/StatsReporter.py”,第 148 行,位于 createClusterReport 中
          文件“/usr/share/opscenter/lib/py-redhat/2.6/shared/amd64/twisted/internet/defer.py”,第 1018 行,位于 _inlineCallbacks
            结果 = 结果.抛出异常到生成器 (g)
          文件“/usr/share/opscenter/lib/py-redhat/2.6/shared/amd64/twisted/python/failure.py”,第 349 行,位于 throwExceptionIntoGenerator 中
            返回 g.throw(self.type, self.value, self.tb)
          文件“/usr/lib/python2.6/site-packages/opscenterd/StatsReporter.py”,第 109 行,格式为 format_node
          文件“/usr/share/opscenter/lib/py-redhat/2.6/shared/amd64/twisted/internet/defer.py”,第 542 行,位于 _runCallbacks
            当前.result = 回调(当前.result,*args,**kw)
          文件“/usr/lib/python2.6/site-packages/opscenterd/Cluster.py”,第 484 行,位于 sumDiskSpace
        密钥错误:u'/dev/mapper/Staging3SSTables_vol1'

2013-10-10 08:48:37-0700 [] 错误:生成集群报告时出错:回溯(最近一次调用最后一次):
          ClusterReportController 中的文件“/usr/lib/python2.6/site-packages/opscenterd/WebServer.py”,第 2243 行
        密钥错误:u'/dev/mapper/Staging3SSTables_vol1'

答案1

这里发生的事情是 opscenterd 循环遍历包含来自 cassandra.yaml 的任何已配置数据目录的分区,并将它们与 的输出进行比较df --print-type --no-sync --block-size=1G --local。OpsCenter 似乎认为这/dev/mapper/Staging3SSTables_vol1是其中一个分区,这显然是错误的。

我们对分区名称中的特殊字符进行了一些转义,但这些-字符在允许的非转义字符列表中。因此,除非该破折号不是真正的破折号,或者 OpsCenter 代码中存在错误,否则这不应该导致任何问题。

对于集群中的其他节点,我没有收到此错误。

一旦发生此错误,集群报告将停止处理。因此,如果第一个处理有问题的节点,其他节点就没有成功或失败的机会。

相关内容