使用 DataStax 生命周期管理器升级 cassandra
Posted
技术标签:
【中文标题】使用 DataStax 生命周期管理器升级 cassandra【英文标题】:upgrading cassandra with DataStax Lifecycle manager 【发布时间】:2018-08-04 20:37:29 【问题描述】:DataStax Opscenter LifeCycle Manager 似乎只有一个选项来运行“安装”作业。从语言上看,似乎只是提供新节点。
能否使用 LifeCycle Manager 将现有(托管)集群升级到 Datastax 企业版的较新版本?
【问题讨论】:
【参考方案1】:Edit 2018-05 OpsCenter 6.5.0 已发布,并在补丁版本之间升级 DSE 的过程中提供帮助...也就是从 DSE 5.0.3 升级到 5.0.6。文档和https://docs.datastax.com/en/opscenter/6.5/opsc/LCM/opscLCMjobsOverview.html 和https://docs.datastax.com/en/opscenter/6.5/opsc/LCM/upgradeDSEjob.html。
DataStax 工程师,我在 Lifecycle Manager 工作。目前 LCM 无法帮助您升级节点,虽然我无法分享有关未来路线图和未发布功能的信息,但我可以说我们知道客户希望使用 LCM 进行升级,我们同意这将是一项有价值的功能。
从 OpsCenter 6.1.x 开始,您必须手动升级节点,然后更新 LCM 配置以匹配新版本。从那时起,您可以在升级后的集群中使用 LCM 进行安装/配置作业。这不是详细的操作方法,而是大致的:
-
查看升级指南,了解需要做什么:https://docs.datastax.com/en/upgrade/doc/upgrade/datastax_enterprise/upgrdDSE.html
在 LCM 之外手动执行升级。请注意,如果您使用 apt 来管理软件包,并且没有升级可用的最新版本,则在升级到“旧”时,您必须使用一个非常庞大的 apt-command 来解决 apt 中的依赖关系解析版本。生成的命令将类似于:
apt-get install -y -qq -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold dse-pig=5.0.11-1 dse-libhadoop2-client=5.0.11-1 dse-libspark=5.0.11-1 dse-libhadoop-native=5.0.11-1 dse-libmahout=5.0.11-1 dse-hive=5.0.11-1 dse-libpig=5.0.11-1 dse-libsolr=5.0.11-1 dse-libgraph=5.0.11-1 dse-libtomcat=5.0.11-1 dse-libhadoop=5.0.11-1 dse-libhive=5.0.11-1 dse-full=5.0.11-1 dse-libcassandra=5.0.11-1 dse=5.0.11-1 dse-libsqoop=5.0.11-1 dse-libhadoop2-client-native=5.0.11-1 dse-liblog4j=5.0.11-1
手动升级完成后,您将暂时处于 LCM 作业无法成功运行的位置,因为安装的 DSE 版本与 LCM 配置部署的 DSE 版本不匹配。此时 LCM 作业将因 DSE 版本不匹配错误而失败。要解决此问题,请继续...
使用新 DSE 版本将您的配置文件(与旧 dse 版本相关联)克隆到新 CP。如果您正在进行补丁升级,这将非常简单。如果您通过 API 进行重大升级,则需要非常小心地删除 DSE 不再支持的配置参数。
编辑您的集群模型,以便集群以及任何定义了 CP 的数据中心或节点将您新克隆的 CP 用于当前 datastax 版本,而不是旧 cp 用于旧 datastax 版本。此时,您可以使 LCM 与您的集群重新同步。您可以继续运行安装/配置作业。
这不是一个简单的过程,但可以在 LCM 之外升级您的集群,然后将 lcm 与新配置同步,这样您就可以从那里继续管理它。如前所述,我们了解这不是一个简单的过程,并且了解本地提供 LCM 升级具有重要价值。
【讨论】:
LCM 的唯一好处是它可以从 ui 部署更新的配置吗? 没有。它自动安装 Java 和 JCE 策略。它自动生成和分发节点到节点和客户端到节点加密的证书。它自动进行集群注册和与 OpsCenter 的集成,以实现简单的/GUI 指标备份和修复。它通过与代理、自定义下载位置和 apt/yum 镜像集成来简化离线环境中的部署。它处理大量粗糙的边缘,例如我之前提到的 apt-command-line。它整理了一堆最佳实践,以防止您遇到不必要的问题。 它还为 DSE 参数提供了现有最全面的 API,涵盖了所有非 eol DSE 版本以及每个版本的几乎所有文档化参数,并且与 Ansible 和 Chef 不同的是,它不需要客户维护 config-每个 DSE 版本的文件模板。它不处理这个用例,现在。它确实处理了许多其他用例,并且涵盖的案例数量随着每个版本的发布而增加。所有这些都包含在我们的文档docs.datastax.com/en/opscenter/6.1/opsc/LCM/opscLCM.html > 它处理大量粗糙的边缘,就像我之前提到的 apt-command-line 一样。以上是关于使用 DataStax 生命周期管理器升级 cassandra的主要内容,如果未能解决你的问题,请参考以下文章
com.datastax.oss -> java-driver-core 和 com.datastax.cassandra -> cassandra-driver-core 之间的 Cas