繁体   English   中英

关于从2.0.3升级到2.0.7

[英]Regarding upgrade from 2.0.3 to 2.0.7

我目前正计划升级到2.0.7 cassandra版本。 我的基本版本是2.0.3。 到目前为止,我还没有进行升级,因此想绝对确定自己在做什么。 有人可以在此之前解释一下需要做什么。

  1. 执行nodetool消耗以停止对特定节点的所有写操作。
  2. 停止cassandra节点(我有8个节点,2个数据中心网络拓扑。我在DC1中关闭了一个节点)
  3. 在新的二进制tarball中相应地更改cassandra.yaml。
  4. 对新节点进行必要的更改(使用闲聊属性文件snitch。因此,对此进行更改)
  5. 开始新的cassandra二进制文件(2.0.7)

问题最让我震惊

  1. 我是否必须将数据从2.0.3复制到2.0.7? 2.即使是滚动升级,我认为也可以执行以下步骤(从一个版本升级到另一个版本除外)。 我的假设是对的吗?
  2. 我将在正在运行的应用程序上执行此操作。 我打算在运行该应用程序的同时执行此操作,因为我在本地仲裁中有足够的副本来满足读取和写入操作。 这个想法有什么缺点吗? 我喜欢cassandra进行这种手术,但想知道是否存在任何潜在的问题?
  3. 执行此操作时,我将在运行的计算机中使用现有的2.0.3。 如果2.0.7中有问题,我将重新启动2.0.3版本,对吗? 只是想知道与集群中其他节点是否存在任何数据冲突? 还是拥有快照来恢复数据是最佳选择? 5.除此之外,还有其他我要记住的事情吗?

我是否必须将数据从2.0.3复制到2.0.7? 2.即使是滚动升级,我认为也可以执行以下步骤(从一个版本升级到另一个版本除外)。 我的假设是对的吗?

如果仅升级二进制文件,则可以保留所有数据,它将自动使用它。

我将在正在运行的应用程序上执行此操作。 我打算在运行该应用程序的同时执行此操作,因为我在本地仲裁中有足够的副本来满足读取和写入操作。 这个想法有什么缺点吗? 我喜欢cassandra进行这种手术,但想知道是否存在任何潜在的问题?

正常的读写操作就可以了。 在临时运行混合版本集群时,最好避免做任何涉及流传输(修复)或拓扑更改(引导或停用节点)的事情。 它们可能会起作用,但没有得到官方的支持,您更有可能遇到问题。

执行此操作时,我将在运行的计算机中使用现有的2.0.3。 如果2.0.7中有问题,我将重新启动2.0.3版本,对吗? 只是想知道与集群中其他节点是否存在任何数据冲突? 还是拥有快照来恢复数据是最佳选择?

您想要快照来恢复。 较新版本的Cassandra可能会使用新的SSTable或commitlog格式,而较旧的版本将无法读取。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM