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、レプリケーション戦略とレプリケーション係数を変更できるキースペースになったので、アップグレードした場合に違いが生じるでしょうが、それは実際には問題ではありません。

最後に、おそらくやりたいことは、独自のキースペースの 1 つのリングを記述することです。これは、クラスター内のレプリケーションがおそらく最も重要な場所であるためです。

于 2013-03-19T21:37:56.210 に答える