cassandra的版本为1.2.16。 OpsCenter是4.1.4版本,我们决定升级到5.1.4版本来修复旧版本的一些已知错误。数据存储代理程序也已升级到5.1.4版。
升级后,仪表板上没有显示数据。查看代理的日志文件,我看到许多错误,如下所示:
ERROR [cassandra-processor-3] 2016-02-20 05:58:18,287 Error when proccessing cassandra callcom.datastax.driver.core.exceptions.InvalidQueryException: Unknown identifier key
INFO [install-location-finder] 2016-02-20 05:58:46,656 New JMX connection (127.0.0.1:7199)
INFO [jmx-metrics-1] 2016-02-20 05:58:53,426 New JMX connection (127.0.0.1:7199)
INFO [jmx-metrics-1] 2016-02-20 05:58:53,432 New JMX connection (127.0.0.1:7199)
ERROR [cassandra-processor-2] 2016-02-20 05:59:19,897 Error when proccessing cassandra callcom.datastax.driver.core.exceptions.InvalidQueryException: Unknown identifier key
经过一番调查,我发现OpsCenter表有“KEY”blob (注意双引号)作为模式中的键列。
CREATE TABLE events (
"KEY" blob,
column1 blob,
value blob,
PRIMARY KEY ("KEY", column1)
...
但是,当我检查另一个没有问题的群集时,我发现OpsCenter表键列的键文本作为定义。
CREATE TABLE events (
key text,
action bigint,
level bigint,
success boolean,
time bigint,
PRIMARY KEY ((key))
...
因此,错误似乎是可以解释的,因为无论何时将度量标准写入OpsCenter表,它都找不到键列,因为该表具有“KEY”列。我想知道如何解决这个问题?