我正在尝试创建一个Marklogic集群,在该集群中,我希望有两个节点具有不同版本的Marklogic(Marklogic 8和Marklogic9)。
我在本地计算机上创建了两个单独的docker容器,一个用于Marklogic 8,一个用于Marklogic9。成功初始化Marklogic 9主机(跳过连接集群步骤)后,我尝试加入另一个具有marklogic 8版本的主机,但是当我继续时,出现与有效版本有关的错误。我们不能以任何方式创建具有不同ML版本的节点的marklogic集群吗?
谢谢 Vivek Bhola
答案 0 :(得分:3)
您可以使用“滚动升级”功能从8.x升级到9.x,然后不完成最终主机升级。这将使您处于“被遗弃的头”状的状态(git-ish和适当的图形隐喻)。该集群将“运行”由8和9软件组成的混合软件,但将“运行”在v8中。尽管此“工作”并受到“支持”(带有“适当的免责声明”),但它不是一种状态,因此建议您将群集运行更长的时间,然后再解决所有升级问题。在此状态下,有大量功能被“锁定”,等待升级完成。但这是最接近要求的。
或者,“外部群集”可以在混合版本中运行-它们的目的是这样做的,其中“混合”表示“外部群集复制”中的每个“群集”都在运行与该群集相同版本的服务器,但群集的版本可能彼此不同。注意:“群集”是1台或更多服务器。因此:可以从少至2台服务器(v8,v9说……)创建一组“集群”,然后将它们作为外部副本加入其中,并在其中加入“瞧” v8 + v9 (集群的)“集群”。为什么这样取决于您的目标是什么。外部复制旨在在长期难以管理的位置(在船舶,飞机,农场,工厂,背包上)容纳服务器-如果要进行长期升级,则不可行。
答案 1 :(得分:1)
MarkLogic服务器可以通过将服务器强制为版本中的最低公分母来支持群集,以解决一些较小的版本差异。与主要版本有所不同,这是不可能的,因为9.x服务器不能像8.x服务器那样“起作用”。
此外,次要版本之间的群集主要是为了支持滚动升级,而不是用于常规操作。