Cassandra 从1.2.19到2.0.15的滚动升级

Cassandra 从1.2.19到2.0.15的滚动升级,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,我们有3个数据中心,每个中心有12个cassandra节点。目前的卡桑德拉版本是1.2.19。我们想迁移到Cassandra 2.0.15。我们不能完全停机,我们需要进行滚动升级。作为初步检查,我们做了两个实验: 实验1 创建了一个新的2.0.15节点,并尝试以现有节点10%的令牌间隔将其引导到集群中。 节点无法通过生成“java.lang.RuntimeException:无法使用任何种子”加入群集 实验2 在集群中添加了一个1.2.19节点,其令牌间隔为现有节点的10% 当节点启动时,我们将

我们有3个数据中心,每个中心有12个cassandra节点。目前的卡桑德拉版本是1.2.19。我们想迁移到Cassandra 2.0.15。我们不能完全停机,我们需要进行滚动升级。作为初步检查,我们做了两个实验:

实验1
  • 创建了一个新的2.0.15节点,并尝试以现有节点10%的令牌间隔将其引导到集群中。 节点无法通过生成“java.lang.RuntimeException:无法使用任何种子”加入群集
  • 实验2
  • 在集群中添加了一个1.2.19节点,其令牌间隔为现有节点的10%
  • 当节点启动时,我们将其停止并升级到2.0.15,然后再次启动(轻微停机)。这一次,节点加入了集群并开始正确地服务请求
  • 为了检查它在较重负载下的行为,我们尝试将令牌移动到普通节点的15%。不幸的是 移动操作失败,出现以下异常:
  • 问题 问题1。卡桑德拉2.0.15没有像在实验1中那样引导到1.2.19集群,这正常吗?(在这里,我的意思是,它可能不是设计的工作)
    问题2。移动令牌操作是否适用于在1.2.19集群中运行的Cassandra 2.0.15节点?
    第三季度。在我们的情况下,是否有适当的滚动升级的解决方法/建议?

    
    
        CassandraDaemon.java (line 584) Exception encountered during startup
        java.lang.RuntimeException: Unable to gossip with any seeds
                at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1296)
                at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:457)
                at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:671)
                at org.apache.cassandra.service.StorageService.initServer(StorageService.java:623)
                at org.apache.cassandra.service.StorageService.initServer(StorageService.java:515)
                at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:437)
                at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:567)
                at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:656)
    
    
    
    
        INFO [RMI TCP Connection(1424)-192.168.1.100] 2015-07-10 11:37:05,235 StorageService.java (line 982) MOVING: fetching new ranges and streaming old ranges
         INFO [RMI TCP Connection(1424)-192.168.1.100] 2015-07-10 11:37:05,262 StreamResultFuture.java (line 87) [Stream #fc3f4290-26f7-11e5-9988-afe392008597] Executing streaming plan for Moving
         INFO [RMI TCP Connection(1424)-192.168.1.100] 2015-07-10 11:37:05,262 StreamResultFuture.java (line 91) [Stream #fc3f4290-26f7-11e5-9988-afe392008597] Beginning stream session with /192.168.1.101
         INFO [StreamConnectionEstablisher:1] 2015-07-10 11:37:05,263 StreamSession.java (line 218) [Stream #fc3f4290-26f7-11e5-9988-afe392008597] Starting streaming to /192.168.1.101
         INFO [StreamConnectionEstablisher:1] 2015-07-10 11:37:05,274 StreamResultFuture.java (line 173) [Stream #fc3f4290-26f7-11e5-9988-afe392008597] Prepare completed. Receiving 0 files(0 bytes), sending 112 fi
        les(6538607891 bytes)
        ERROR [STREAM-IN-/192.168.1.101] 2015-07-10 11:37:05,303 StreamSession.java (line 467) [Stream #fc3f4290-26f7-11e5-9988-afe392008597] Streaming error occurred
        java.io.IOException: Connection reset by peer
                at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
                at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
                at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
                at sun.nio.ch.IOUtil.read(IOUtil.java:197)
                at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
                at org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:51)
                at org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:239)
                at java.lang.Thread.run(Thread.java:745)
        ERROR [STREAM-OUT-/192.168.1.101] 2015-07-10 11:37:05,312 StreamSession.java (line 467) [Stream #fc3f4290-26f7-11e5-9988-afe392008597] Streaming error occurred
        java.io.IOException: Connection reset by peer
                at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
                at sun.nio.ch.SocketDispatcher.write(SocketDi