首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用apache zookeeper+curator缓慢地进行领导选举

用apache zookeeper+curator缓慢地进行领导选举
EN

Stack Overflow用户
提问于 2014-08-11 17:00:05
回答 2查看 2K关注 0票数 7

我用LeaderLatch来玩领袖选举。在本地安装了ZooKeeper之后,当只有一个实例时,我有~30秒的时间来选举领导者,而当领导者失败时(当我终止这个过程时),我几乎可以同时选出新的领导者。这个应该像这样工作吗?我能加快速度吗?

我使用以下代码:

代码语言:javascript
复制
    CuratorFramework curator = CuratorFrameworkFactory.newClient("127.0.0.1", new ExponentialBackoffRetry(100, 3));
    curator.start();
    LeaderLatch leaderLatch = new LeaderLatch(curator, "/test/t");
    leaderLatch.addListener(new LeaderLatchListener() {
        @Override
        public void isLeader() {
            System.out.println("Leader");
        }

        @Override
        public void notLeader() {
        }
    });
    leaderLatch.start();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-12 13:35:06

我理解了这一点: ZooKeeper在不删除临时节点的会话中有30秒的超时时间。这就是为什么没有选出新的领导人(因为领导人节点没有当选)。此外,当所有节点都被关闭并在上一次领袖超时结束之前重新启动时,这将防止选择领导人。

为了避免这种情况,您需要使用close方法手动关闭馆长,在这种情况下,会话会立即终止。

票数 7
EN

Stack Overflow用户

发布于 2014-08-14 06:53:33

您可以在动物园管理员配置文件.and中减少"ticktime“参数,重新启动所有服务器。

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

https://stackoverflow.com/questions/25248547

复制
相关文章

相似问题

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