首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ambari 集成 doris 时,如何限制 Follower 与 Observer 不会部署在同一节点?

Ambari 集成 doris 时,如何限制 Follower 与 Observer 不会部署在同一节点?

作者头像
create17
发布2025-03-17 13:40:39
发布2025-03-17 13:40:39
20800
代码可运行
举报
运行总次数:0
代码可运行

大家好,我是create17,见字如面。

今天给大家分享:Ambari集成服务时,如何限制服务组件A与组件B不能部署在同一节点?

关键字:Ambari集成服务如何限制组件不在同一节点。

希望我接下来的分享给大家带来一些帮助和启发🤔

一、问题描述

昨天小伙伴在 Ambari 学员群中提出问题:Ambari 集成 doris 时。将 FE 组件角色分为 FE(Follower)、FE(Observer),前者为 Master、后者为 Slave。在写部署脚本时,如何限制 Follower 与 Observer 不会部署在同一节点?

二、解决办法

这里其实可以抽象出:Ambari集成服务时,如何限制服务组件A与组件B不能部署在同一节点?

这里有两个思路,一个是页面弹窗提示;一个是报错提示。

  1. 页面弹窗提示的效果是最好的,但在 Ambari 自定义服务集成代码中,没有找到如何设置这样的限制。如果非得实现这样的交互效果,可以研究下 ambari-web 前端代码,看通过代码如何进行弹窗提示来达到限制的目的。
  2. 报错提示的思路,是群友提出来的,也是一个很好的解决办法,感谢。假如用户设置了服务组件A和组件B在同一节点,在服务部署过程中会报错,给出提示:服务组件A和组件B不能部署在同一节点。

下面详细说说报错提示的方式如何实现:

假设集成 doris 服务时的组件名称为:FOLLOWER 和 OBSERVER。我们可以通过 Ambari 内置的 python 库来获取 doris 服务 FOLLOWER 和 OBSERVER 组件所选择部署的节点列表:

代码语言:javascript
代码运行次数:0
运行
复制
# 获取当前组件所在的节点
hostname = config['agentLevelParams']['hostname']
# 获取follower组件要部署的节点
follower_hosts = default("/clusterHostInfo/follower_hosts", [])
# 获取observer组件要部署的节点
observer_hosts = default("/clusterHostInfo/observer_hosts", [])

然后我们就可以在 install() 方法中进行判断了:

代码语言:javascript
代码运行次数:0
运行
复制
    def install(self, env):
        import params
        env.set_params(params)

        if (params.hostname in params.follower_hosts) and (params.hostname in params.observer_hosts):
            # 当前节点不能同时安装observer与follower组件
            Logger.info("所有安装Follower节点: {0}".format(params.follower_hosts))
            Logger.info("所有安装Observer节点: {0}".format(params.observer_hosts))
            raise RuntimeError("Follower与Observer不能安装在同一节点, 请调整配置后重新安装")

此时,如果 observer 与 follower 组件规划部署在同一节点,则会报错提示,从而达到限制的目的。

已将这个知识点更新到了《Ambari自定义服务集成实战》的知识星球中,星球更多精华帖可查看: https://docs.qq.com/sheet/DWHplSXZPeFhPVW9n?tab=BB08J2

好了,本次分享就到这里了,如果小伙伴们有更好的解决方式,欢迎交流哦~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据实战演练 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题描述
  • 二、解决办法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档