首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >水平分布的ActivePivot集群管理

水平分布的ActivePivot集群管理
EN

Stack Overflow用户
提问于 2012-10-03 23:17:25
回答 1查看 154关注 0票数 1

我们目前在水平分布上使用ActivePivot 4.3。

我们按历史天数拆分我们的数据。即使加载速度很快,我们也不想让用户访问部分加载的节点。

我们希望在加载时在集群外部有一个节点,并在准备好时加入它。此外,如果它处于维护中,我们可能希望将其排除在集群之外。为了实现这一点,我们需要对节点如何加入/离开集群进行一些控制。

我相信通过JMX有一些控件,然而,我们希望通过编程来访问这些控件,理想情况下是通过we服务。

我们如何实现这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2012-10-04 00:08:56

使用ActivePivot 4.3.3,您可以这样实现:

要防止节点在完全加载之前加入集群,可以将"autoStart“分布属性设置为false。

在schema.xml文件中,添加以下代码

代码语言:javascript
复制
...
    <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()“方法获取信使组件,并启动它。然后,所考虑的节点将加入群集。

假设您有管理器,您的代码应该如下所示:

代码语言:javascript
复制
ADistributedActivePivot myDistributedPivot = (ADistributedActivePivot) manager.getActivePivots().get("myDistributedPivot"); // Change it to the Id of your distributed pivot
myDistributedPivot.getMessenger().start();

要使节点加入/离开集群,您可以在其信使中自由使用"pause()“和"resume()”方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12711563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档