滚动升级从1.2.19升级到2.0.15

时间:2015-07-13 09:54:04

标签: cassandra cassandra-2.0

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

实验1

  1. 创建了一个新的2.0.15节点,并尝试使用已有节点的10%令牌间隔将其引导到集群中。 该节点无法通过以下方式加入群集:" java.lang.RuntimeException:无法使用任何种子闲聊#34;
  2. 
    
        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)
    
    

    实验2

    1. 在群集中添加了一个1.2.19节点,其中已有节点的令牌间隔为10%。
    2. 当节点启动时,我们将其停止并升级到2.0.15,然后再次启动(较小的停机时间)。这次节点加入群集并开始正确地提供请求。
    3. 要检查它在较重负载下的行为,我们尝试移动令牌以覆盖正常节点的15%。不幸 移动操作失败,出现以下异常:
    4. 
      
          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
      
      

      问题

      Q1。 Cassandra 2.0.15没有像在实验1中那样自举进入1.2.19集群吗? (这里我的意思是它可能不应该按设计工作)
      Q2。移动令牌操作是否适用于在1.2.19集群中运行的Cassandra 2.0.15节点? Q3。在我们的案例中是否有任何变通办法/建议进行适当的滚动升级?

0 个答案:

没有答案