1

当我运行 nodetool 命令时,它在 Cassandra 中给了我以下异常。我正在使用 cassandra 1.2.1 版。

我已将密钥空间中的数据从旧的 Cassandra 集群复制到新的 Cassandra 集群,并在我的新集群中创建了一个模式。我能够取回一些信息,但是当我尝试创建某些内容时,它确实会创建一个新密钥,但我也遇到了以下异常。对于nodetool describering system.

谁能让我知道出了什么问题以及在哪里?

nodetool describering system_auth

Schema Version:67158f43-3871-3496-9ab4-4f73d0450575
TokenRange:
There is no ring for the keyspace: system_auth
java.io.IOException: There is no ring for the keyspace: system_auth
    at org.apache.cassandra.service.StorageService.describeRingJMX(StorageService.java:1017)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
    at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
    at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
    at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1454)
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:74)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1295)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1387)
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:818)
    at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
    at sun.rmi.transport.Transport$1.run(Transport.java:159)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
4

1 回答 1

1

在 1.2.1 版本中,system_auth是一个普通的系统密钥空间,因此它没有任何关联的复制(因此,没有环)。system系统密钥空间也没有与之关联的环。

在版本 1.2.2 中,system_auth成为了一个键空间,其复制策略和复制因子可以更改,因此如果您升级它会有所不同,但这并不是您的问题。

最后,您可能想要做的是为您自己的密钥空间之一描述环,因为这可能是您集群中的复制对您最重要的地方。

于 2013-03-19T21:37:56.210 回答