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

f106d7a55ef5b896917e1780cd330eb5.gif

点击卡片“大数据实战演练”,选择“设为星标”或“置顶”

回复“资料”可领取独家整理的大数据学习资料!

回复“Ambari知识库”可领取独家整理的Ambari学习资料!

afb389c764a3298592004b9bdb5c8868.jpeg

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

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

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

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

一、问题描述

b9ae456a7d1e38fe6efa880d6220021a.png

昨天小伙伴在 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 组件所选择部署的节点列表:

# 获取当前组件所在的节点
hostname = config['agentLevelParams']['hostname']
# 获取follower组件要部署的节点
follower_hosts = default("/clusterHostInfo/follower_hosts", [])
# 获取observer组件要部署的节点
observer_hosts = default("/clusterHostInfo/observer_hosts", [])

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

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

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

ending

一个人可以走得很快,但一群人才能走得更远。我的Ambari课程累计学员已经有 400+。感谢信任的同时,如果你需要一个良好的Ambari学习与交流环境,就请加入我们吧。这是一个学习Ambari的付费私密圈子,里面的人都是Ambari的活跃二次开发者,报名后,你可以享有知识星球 + 学员微信群 + 课程资料(笔记、视频等)+ 导师学习陪伴答疑服务,认识更多大佬,和大家一起成长。也欢迎大家点击左下角阅读原文了解我,希望我能提供的服务可以帮助到你。

90f2125879b8d663b64dee37b8c09dc8.png

最后,把我的座右铭送给大家:执行是消除焦虑的有效办法,明确并拆解自己的目标,一直行动,剩下的交给时间。共勉 💪。

“阅读原文”,查看最新内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

create17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值