干货 | Ambari 集成 Kyuubi 时的配置渲染逻辑

本文分享了Ambari集成第三方服务的经典知识点,以集成Kyuubi为例,介绍了根据配置开关量判断是否增加新配置的方法,包括在配置文件添加开关属性、编写逻辑、引用变量、渲染内容等,还提及为学员解惑及更多实现方式,最后推荐了Ambari课程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

f074477846a6275024220fa609acf501.gif

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

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

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

5dd5497c7c818aee57675ea238ced51a.jpeg

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

今天给大家分享一个 Ambari 集成第三方服务的经典知识点,Ambari 如何根据配置开关量去判断是否增加新配置。

以集成 Kyuubi 为例:

b4cef8a2863f6a7a8ee4a334d7b88979.png

7c4a3d5ef228346bab0c0925ebf3bb59.png

需求如下:

Ambari 在集成 Kyuubi 时,如何实现点击开关量配置则实现 kyuubi.ha.client.class = org.apache.kyuubi.ha.client.zookeeper.ZookeeperDiscoveryClient,不选择则配置为空,并渲染到配置文件中。

逻辑分析与改造:

先在 kyuubi-defaults.xml 里面添加开关属性:

<property>
    <name>kyuubi.ha.enabled</name>
    <value>true</value>
    <value-attributes>
        <type>boolean</type>
    </value-attributes>
    <on-ambari-upgrade add="false"/>
    <description>是否启用 Kyuubi 高可用</description>
</property>

然后在 param.py 文件中,编写逻辑:

kyuubi_ha_enabled = config['configurations']['kyuubi-defaults']['kyuubi.ha.enabled']
if kyuubi_ha_enabled:
  kyuubi_ha_client_class = "org.apache.kyuubi.ha.client.zookeeper.ZookeeperDiscoveryClient"
else:
  kyuubi_ha_client_class = ""

然后在 .j2 模板文件中,引用变量就好了。在 KYUUBI/package 目录下,创建 templates 目录,用来放置 .j2 模板文件,比如名叫 kyuubi-defaults.conf.j2。

kyuubi.ha.client.class = {{ kyuubi_ha_client_class }}
...省略其余配置

然后在服务生命周期 .py 文件,添加 j2 文件渲染逻辑,即:将 kyuubi-defaults.conf.j2 内容渲染到 kyuubi-defaults.conf 中:

File(format("{kyuubi_conf_dir}/kyuubi-defaults.conf"),
     owner=params.kyuubi_user,
     group=params.kyuubi_group,
     mode=0644,
     content=Template("kyuubi-defaults.conf.j2")
     )

为学员解惑并跟踪改造结果:

学员遇到问题,我都会支持一起想办法解决。遇到经典的问题,我还会把它记录到知识星球中,分享给大家一起学习成长。

aab7284211936a49e8ded50f86d0f739.png

其他:

其实关于集成服务的配置渲染实现方法有很多,上面举例说明的是将 kyuubi-defaults.conf 配置项都一个个手动放在 j2 文件中,然后渲染到指定配置文件中,然后重启服务。

这是一种实现方式,当然还有更优雅的实现方式,已经分享到了Ambari自定义服务集成的知识星球中了,供已付费的会员们查看。

如果觉得学习 Ambari自定义服务集成 有困难,或找不到资料,都可以联系我,我可以帮你几次,如果信任我,也可以报名我的Ambari课程,永久学习,详情可点击「阅读原文」查看。

ending

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

acce5fb0700b7b8048b20f861650f108.png

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

create17

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

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

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

打赏作者

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

抵扣说明:

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

余额充值