Cassandra

代理已連接到 Opscenter,但沒有可用數據

  • October 1, 2015

我目前正在我的開發 Windows 機器上執行 Cassandra、OpsCenter 和 OpsCenter 代理。該代理已成功連接到 OpsCenter,我可以看到它列在那里以及它正在使用的磁碟空間量。

但是,沒有其他數據可用,包括可用磁碟空間(目前這不是很有趣,因為只有一台機器並且我正在使用它),或任何其他指標,如寫入請求、延遲等,所有這些都更有用。

我每分鐘在 opscenterd.log 中出現以下錯誤,在處理來自代理的磁碟空間時似乎遇到錯誤:

2014-11-05 07:33:38+1000 []  INFO: Unhandled error in Deferred:
2014-11-05 07:33:38+1000 [] Unhandled Error
   Traceback (most recent call last):
     File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\morbid.py", line 48, in dataReceived
       getattr(self, 'read_%s' % self.state)(**msg)
     File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\morbid.py", line 102, in read_connected
       d.addCallback(getattr(self, 'frame_%s' % cmd))
     File "E:\Program Files\DataStax Community\opscenter\lib\py-win32\2.7\twisted\internet\defer.py", line 297, in addCallback
       callbackKeywords=kw)
     File "E:\Program Files\DataStax Community\opscenter\lib\py-win32\2.7\twisted\internet\defer.py", line 286, in addCallbacks
       self._runCallbacks()
   --- <exception caught here> ---
     File "E:\Program Files\DataStax Community\opscenter\lib\py-win32\2.7\twisted\internet\defer.py", line 542, in _runCallbacks
       current.result = callback(current.result, *args, **kw)
     File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\morbid.py", line 122, in frame_send
       self.factory.mqm.send_message(self, headers['destination'], (headers, body))
     File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\messagequeue.py", line 146, in send_message
       self.message_queues[dest_name].send(message)
     File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\messagequeue.py", line 76, in send
       proto.send(self.prep_message(message))
     File "build/lib/python2.7/site-packages/opscenterd/OrbitedService.py", line 265, in send

     File "build/lib/python2.7/site-packages/opscenterd/Agents.py", line 294, in routeIncoming

     File "build/lib/python2.7/site-packages/opscenterd/Agents.py", line 689, in processStorageInfo

     File "build/lib/python2.7/site-packages/opscenterd/Cluster.py", line 1107, in updateStorageInfo

     File "build/lib/python2.7/site-packages/opscenterd/Cluster.py", line 1096, in sumDiskSpace

   exceptions.KeyError: u'E:'

我目前正在使用 Datastax Community Edition 2.1.0 並將其安裝在我的 E 驅動器上,這是假定上面錯誤消息中提到的雜湊鍵。

關於我能做些什麼來解決這個問題的任何想法?

事實證明,Windows 上的 OpsCenter 代理將 typeperf.exe 的路徑硬編碼為“\Windows\System32\typeperf.exe”,因此如果安裝到系統驅動器以外的任何位置,則無法執行它。

agent.log 反复記錄以下錯誤:

ERROR [os-metrics-14] 2014-11-20 11:28:39,088 Long os-stats collector failed: Cannot run program "\Windows\System32\typeperf.exe": CreateProcess error=2, The system cannot find the file specified

根據http://www.datastax.com/support-forums/topic/error-loading-cluster-no-cassandra-connections-available已經提出了一個內部錯誤,但是除了安裝之外沒有目前的解決方法在系統驅動器上。

引用自:https://serverfault.com/questions/642033