Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 卡桑德拉启动问题_Cassandra_Restart_Hector - Fatal编程技术网

Cassandra 卡桑德拉启动问题

Cassandra 卡桑德拉启动问题,cassandra,restart,hector,Cassandra,Restart,Hector,首先,我读了这个 我不能让卡桑德拉重新开始工作。 我使用Hector作为我的客户机连接到Cassandra 0.8.2的实例并加载我的模式。通过Hector,我使用了两个不同的类来创建两个不同的列族-Articles和TagsArticlesCF 通过main类,我创建了一个名为“Articles”和“TagsArticlesCF”的列族,如下所示: public static void main(String[] args) { cluster = HFactory.getOrCrea

首先,我读了这个

我不能让卡桑德拉重新开始工作。 我使用Hector作为我的客户机连接到Cassandra 0.8.2的实例并加载我的模式。通过Hector,我使用了两个不同的类来创建两个不同的列族-Articles和TagsArticlesCF

通过main类,我创建了一个名为“Articles”和“TagsArticlesCF”的列族,如下所示:

public static void main(String[] args) {
    cluster = HFactory.getOrCreateCluster("test cluster", "xxx.xxx.xxx.xxx:9160");
    newKeyspaceDef = HFactory.createKeyspaceDefinition(keyspaceName);
    if( (cluster.describeKeyspace(keyspaceName)) == null){
        createSchema();
    }


    Keyspace ksp = HFactory.createKeyspace(keyspaceName, cluster);
    Articles art = new Articles(cluster, newKeyspaceDef,ksp);
TagsArticlesCF tags = new TagsArticlesCF(cluster,newKeyspaceDef,ksp);
以下是我的柱族的外观/创建方式示例:

public Articles(Cluster cluster, KeyspaceDefinition ksp, Keyspace ksp2)  {
BasicColumnFamilyDefinition bcfDef = new BasicColumnFamilyDefinition();
        bcfDef.setName("Articles");
        bcfDef.setKeyspaceName("test3");
        bcfDef.setDefaultValidationClass(ComparatorType.UTF8TYPE.getClassName());
        bcfDef.setKeyValidationClass(ComparatorType.UTF8TYPE.getClassName());
        bcfDef.setComparatorType(ComparatorType.UTF8TYPE);

        ColumnFamilyDefinition cfDef = new ThriftCfDef(bcfDef);
        BasicColumnDefinition columnDefinition = new BasicColumnDefinition();
        columnDefinition.setName(StringSerializer.get().toByteBuffer("title"));
        columnDefinition.setIndexType(ColumnIndexType.KEYS);
        columnDefinition.setValidationClass(ComparatorType.UTF8TYPE.getClassName());
        cfDef.addColumnDefinition(columnDefinition);
...
我正在尝试向Cassandra添加一个完整的模式,该模式将支持我计划对加载的数据执行的查询。我运行了几次main方法将新的列族加载到数据库中。在多次运行main方法并调整一些内容(检查列族是否已经在KeyspaceDefinition中)之后,Cassandra的运行实例停止了

我对使用Hector/java的一些事情感到好奇:

  • 我计划有10个左右的列族,包含不同的列(以支持不同的查询)。组织我的课程以便每个专栏系列都有一个课程,这是最佳实践吗

  • KeyspaceDefinition和Keyspace之间到底有什么区别?为什么会有区别

  • 我们试图得到卡桑德拉的一个新实例&下面是我们遇到的。我正试图更好地了解发生了什么,因此,如果有任何意见和帮助避免此类错误,我将不胜感激:

    [root@appscluster1 bin]# ./cassandra -p cassandra.pid
    [root@appscluster1 bin]#  INFO 10:52:36,437 Logging initialized
     INFO 10:52:36,484 JVM vendor/version: Java HotSpot(TM) 64-Bit Server VM/1.6.0_25
     INFO 10:52:36,485 Heap size: 1046937600/1046937600
     INFO 10:52:36,490 JNA not found. Native methods will be disabled.
     INFO 10:52:36,526 Loading settings from file:/opt/cassandra/apache-cassandra-0.8.2/conf/cassandra.yaml
    
    [root@appscluster1 bin]#  INFO 10:52:36,872 DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap
     INFO 10:52:37,346 Global memtable threshold is enabled at 332MB
     INFO 10:52:37,348 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:37,497 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:37,617 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:37,984 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:38,252 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:38,259 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:38,545 Opening /opt/cassandra/persist8/data/system/IndexInfo-g-73
     INFO 10:52:38,661 Opening /opt/cassandra/persist8/data/system/Schema-g-169
     INFO 10:52:38,685 Opening /opt/cassandra/persist8/data/system/Schema-g-170
     INFO 10:52:38,730 Opening /opt/cassandra/persist8/data/system/Schema-g-171
     INFO 10:52:38,751 Opening /opt/cassandra/persist8/data/system/Migrations-g-171
     INFO 10:52:38,763 Opening /opt/cassandra/persist8/data/system/Migrations-g-170
     INFO 10:52:38,776 Opening /opt/cassandra/persist8/data/system/Migrations-g-169
     INFO 10:52:38,795 Opening /opt/cassandra/persist8/data/system/LocationInfo-g-2
     INFO 10:52:38,827 Opening /opt/cassandra/persist8/data/system/LocationInfo-g-1
     INFO 10:52:39,048 Loading schema version ec437ac0-d28a-11e0-0000-c4ffed3367ff
     INFO 10:52:39,645 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:39,663 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
    
    。。。(更多相同)

    。。。(更多相同)

    INFO 10:52:41892删除压缩的SSTable文件(请参阅http://wiki.apache.org/cassandra/MemtableSSTable)
    错误10:52:41898启动期间遇到异常。
    java.lang.RuntimeException:javax.management.InstancealReadyExistException:org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
    位于org.apache.cassandra.db.ColumnFamilyStore(ColumnFamilyStore.java:315)
    在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:466)上
    在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:436)上
    位于org.apache.cassandra.db.Table.initCf(Table.java:369)
    位于org.apache.cassandra.db.Table.(Table.java:306)
    位于org.apache.cassandra.db.Table.open(Table.java:111)
    位于org.apache.cassandra.service.AbstractCassandrademon.setup(AbstractCassandrademon.java:187)
    位于org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:341)
    位于org.apache.cassandra.thrift.cassandrademon.main(cassandrademon.java:80)
    原因:javax.management.instancealreadyexistException:org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
    位于com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
    位于com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
    位于org.apache.cassandra.db.ColumnFamilyStore(ColumnFamilyStore.java:311)
    ... 8个以上
    启动期间遇到异常。
    java.lang.RuntimeException:javax.management.InstancealReadyExistException:org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
    位于org.apache.cassandra.db.ColumnFamilyStore(ColumnFamilyStore.java:315)
    在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:466)上
    在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:436)上
    位于org.apache.cassandra.db.Table.initCf(Table.java:369)
    位于org.apache.cassandra.db.Table.(Table.java:306)
    位于org.apache.cassandra.db.Table.open(Table.java:111)
    位于org.apache.cassandra.service.AbstractCassandrademon.setup(AbstractCassandrademon.java:187)
    位于org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:341)
    位于org.apache.cassandra.thrift.cassandrademon.main(cassandrademon.java:80)
    原因:javax.management.instancealreadyexistException:org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
    位于com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
    位于com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
    位于com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
    位于org.apache.cassandra.db.ColumnFamilyStore(ColumnFamilyStore.java:311)
    ... 8个以上
    [root@appscluster1[垃圾箱]#
    

    谢谢

    如何将密钥空间定义发送到集群

    查看以下测试用例中的方法:


    如果键空间和/或列族已经存在,您应该能够捕获IllegalArgumentException

    嗯。我找出了KeyspaceDefinition和Keyspace之间的区别。从这里()我备份了实例,但我无法理解为什么我首先会出现这个错误。这似乎是一个不稳定的局面。
     INFO 10:52:40,463 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:41,390 Opening /opt/cassandra/persist8/data/test3/Articles-g-367
    ERROR 10:52:41,392 Missing sstable component in /opt/cassandra/persist8/data/test3/Articles-g-367=[Index.db, Data.db]; skipped because of /opt/cassandra/persist8/data/test3/Articles-g-367-Index.db (No such file or directory)
     INFO 10:52:41,863 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
     INFO 10:52:41,865 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
    
     INFO 10:52:41,892 Removing compacted SSTable files (see http://wiki.apache.org/cassandra/MemtableSSTable)
    ERROR 10:52:41,898 Exception encountered during startup.
    java.lang.RuntimeException: javax.management.InstanceAlreadyExistsException: org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
           at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:315)
           at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:466)
           at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:436)
           at org.apache.cassandra.db.Table.initCf(Table.java:369)
           at org.apache.cassandra.db.Table.<init>(Table.java:306)
           at org.apache.cassandra.db.Table.open(Table.java:111)
           at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:187)
           at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:341)
           at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:80)
    Caused by: javax.management.InstanceAlreadyExistsException: org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
           at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
           at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
           at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:311)
           ... 8 more
    Exception encountered during startup.
    java.lang.RuntimeException: javax.management.InstanceAlreadyExistsException: org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
           at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:315)
           at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:466)
           at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:436)
           at org.apache.cassandra.db.Table.initCf(Table.java:369)
           at org.apache.cassandra.db.Table.<init>(Table.java:306)
           at org.apache.cassandra.db.Table.open(Table.java:111)
           at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:187)
           at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:341)
           at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:80)
    Caused by: javax.management.InstanceAlreadyExistsException: org.apache.cassandra.db:type=ColumnFamilies,keyspace=test3,columnfamily=TagsArticlesCF
           at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
           at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
           at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
           at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:311)
           ... 8 more
    
    [root@appscluster1 bin]#