我们目前在水平分布上使用ActivePivot 4.3。ActivePivot集群管理水平分布
我们根据历史天数来分割我们的数据。即使加载速度很快,我们也不希望让用户访问部分加载的节点。
我们希望在加载时在群集外部有一个节点,并在准备好时加入它。如果正在维护中,我们也可能希望将其保留在群集之外。为了实现这一点,我们需要对节点如何加入/离开集群进行一些控制。
我相信有一些控制槽JMX,但是,我们希望这些控件可以编程方式访问,理想情况下通过web服务。
我们该如何实现?
我们目前在水平分布上使用ActivePivot 4.3。ActivePivot集群管理水平分布
我们根据历史天数来分割我们的数据。即使加载速度很快,我们也不希望让用户访问部分加载的节点。
我们希望在加载时在群集外部有一个节点,并在准备好时加入它。如果正在维护中,我们也可能希望将其保留在群集之外。为了实现这一点,我们需要对节点如何加入/离开集群进行一些控制。
我相信有一些控制槽JMX,但是,我们希望这些控件可以编程方式访问,理想情况下通过web服务。
我们该如何实现?
随着ActivePivot 4.3.3,你可以这样实现它:
为了防止从节点加入群集它完全加载后,您可以设置“自动”分配属性设置为false。
在你的Schema.xml文件,通过网络添加以下代码
...
<distributionDescription>
<distributedPivotId> xxxx </distributedPivotId>
<clusterId> xxxx </clusterId>
<distributionType> xxxx </distributionType>
<properties>
<entry key="autoStart" value="false" />
</properties>
</distributionDescription>
...
然后,信使组件,负责沟通,将不会启动。你必须手动完成。
要启动此组件,您必须调用其“start()”方法。如果您不想使用JMX工具并以编程方式执行,则必须使用“ActivePivotManager”组件。它提供了获取ActivePivot几个实例的方法:使用它来获得所需的分布式ActivePivot。
最后,使用分布式ActivePivot中的“getMessenger()”方法获取信使组件,并启动它。所考虑的节点随后将加入群集。
假设你有经理,你的代码应该如下所示:
ADistributedActivePivot myDistributedPivot = (ADistributedActivePivot) manager.getActivePivots().get("myDistributedPivot"); // Change it to the Id of your distributed pivot
myDistributedPivot.getMessenger().start();
要使节点加入/离开集群,您可以自由使用“暂停()”和“恢复() “从它的使者的方法。
假设你没有经理,你是如何得到它的? –