
Ambari 自定义服务集成实战
文章平均质量分 86
该专栏为实战笔记 + 视频,以实战为目的,掌握集成服务通用技能,即可集成任何服务到Ambari,提升Ambari二次开发能力和实战经验,实现快速集成第三方服务或Apache Hadoop服务到生产环境。
推荐:https://www.yuque.com/create17/ambari/miyk6c
优惠券已抵扣
余额抵扣
还需支付
¥239.90
¥399.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
create17
知行合一。
展开
-
第十讲:如何为自定义服务添加监控指标并展示
版本:Ambari:2.7.3.0HDP:3.1.0.0一、metainfo.xml在 metainfo.xml 文件内的 <componment> 里面增加 <timelineAppid> 标签,如下述代码所示:<timelineAppid>elasticsearch</timelineAppid>这里需要注意字段 timelineAppId,该值是唯一的,一般用 Service Name 即可,并且不区分大小写。Metrics Colle.原创 2021-06-07 10:32:03 · 515 阅读 · 0 评论 -
第十八讲:FAQ 1、服务状态假死 2、服务的部分汉化 3、服务集成前要做的规划
一、Ambari自定义服务启动成功后,依旧显示停止状态的解决方案1、概述如果遇到该情况,首先前往 /var/log/ambari-agent/ambari-agent.log 查看日志输出。**服务安装后,ambari 2.6 大约每隔 60s 会执行 status() 方法,ambari 2.7 大约每隔 20s 会执行 status() 方法。**如果执行 status() 方法的过程中报错,则在 Ambari 页面上会显示服务已停止。如果执行 status() 方法的过程中没报错,则在 Amba原创 2021-06-07 10:26:21 · 272 阅读 · 0 评论 -
第十五讲:Ambari 如何下载客户端配置
一、指定 client 角色的组件如果想要实现客户端配置下载,前提是你需要有 client 角色的组件。然后在 metainfo.xml 文件中,添加 <configFiles> 标签内容即可。<component> <name>ELASTICSEARCH_CLIENT</name> <displayName>ELASTICSEARCH Client</displayName> <category&g原创 2021-06-07 10:23:25 · 625 阅读 · 0 评论 -
第十六讲:版本hdp2与hdp3集成服务的相同点、差异点及解决办法
到目前为止,ambari 有两个大版本:ambari 2.6 及以下 可以部署 hadoop 2 相关的服务,也就是 hdp 2ambari 2.7 可以部署 hadoop 3 相关的服务,也就是 hdp 3对于自定义服务集成来说,hdp 2 与 hdp 3 是有一些差异的,彼此并不兼容。这就造成了一部分人的痛点,集成服务需要适配于两个版本,hdp2 和 hdp3 。如果我们将视频中的 ELASTICSEARCH 集成到 HDP 2 系列的话,就会报错。当获取参数 agentLevelPara原创 2021-06-07 10:21:01 · 546 阅读 · 0 评论 -
第十四讲:Ambari 自定义服务调试技巧汇总
功能点(以 ELASTICSEARCH 服务为例):metainfo.xmlconfiguration/xxx.xmlpackagealerts.jsonquicklinks/quicklinks.jsonwidgets.json 与 metrics.jsonthemes/theme.jsonrole_command_order.json常规调试的步骤是:步骤1、重启 ambari-server 进程,执行命令:ambari-server restart步骤2、重装服务,卸载和重新原创 2021-06-07 10:15:35 · 497 阅读 · 0 评论 -
第十七讲:如何将服务一劳永逸的集成到ambari中,方便新环境部署,无需二次拷贝...
点击上方蓝色“大数据实战演练”,选择“设为星标”或“置顶”回复“资料”领取独家整理的学习资料!每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。放弃不难,但坚持很酷~一、前言如何将服...原创 2021-03-10 07:55:00 · 740 阅读 · 0 评论 -
第十三讲:如何调整各服务、各组件启动顺序
引言:我们都知道,ambari 中集成了很多服务,有的服务之间还存在着依赖关系,比如 HBase 依赖 zookeeper、hdfs 。如果你想成功运行 HBase ,那么就得先安装和启动 zookeeper 和 hdfs 。一般来说,一个服务都是由一个或多个组件组成,像 hdfs 中就有 namenode、secondNamenode、datanode 等。在 ambari 里面,我们可以创建修改一个叫做 role_command_order.json 的文件,来调整各组件的执行顺序,从而可以调整多.原创 2020-10-25 18:05:49 · 486 阅读 · 0 评论 -
第十二讲:检查服务运行状态以及为服务添加自定义命令
Ambari 还支持 检查服务运行状态 及 为服务添加自定义命令 的功能,实现起来也不复杂。b站搜:create17一、检查服务运行状态1)metainfo.xml在 <service> 标签下添加以下代码,其中 python 文件名称可自定义。<commandScript> <script>scripts/service_check.py</script> <scriptType>PYTHON</scriptT原创 2020-10-25 18:03:37 · 336 阅读 · 0 评论 -
第十一讲:为自定义服务添加主题配置(增强配置)
导读增强配置功能可以指定自定义服务配置项的样式,而无需修改任何 UI 代码。这样可以为服务设置友好的布局,更好的控件(滑块,下拉框,列表,滑块按钮,滑杆,复选框,时间间隔微调器等),取值范围,设置单位(MB,GB,秒,毫秒等)。b站搜:create17一、首先解读 HBase 服务的配置样式主题文件地址:/var/lib/ambari-server/resources/stacks/HDP/3.0/services/HBASE/themes/theme.json二、自定义服务配置主题步骤.原创 2020-10-25 15:22:15 · 456 阅读 · 2 评论 -
第九讲:如何为服务添加 quicklinks 快速链接
一、确定 quicklinks.json 文件位置首先,在 metainfo.xml 文件里面添加:<!-- <quickLinksConfigurations-dir>quicklinks-es</quickLinksConfigurations-dir> --><quickLinksConfigurations> <quickLinksConfiguration> <fileName>quicklink原创 2020-10-24 14:38:18 · 867 阅读 · 0 评论 -
第八讲:如何为服务添加自定义告警
1、Ambari 中 alert 概述Ambari 为了帮助用户鉴别以及定位集群的问题,实现了告警(Alert)机制。在 Ambari 中预告了很多告警,这些告警被用来监测集群的各个模块以及机器的状态。对于告警来说,主要有两个概念,一个是 Alert Definition,一个是 Alert Instance。Alert Definition 就是告警的定义,其中会定义告警的检测时间间隔(interval)、类型(type)、以及阈值(threshold)等。Alert Instance 就是告警的原创 2020-10-24 14:28:23 · 521 阅读 · 0 评论 -
第二讲:metainfo.xml 文件详解
本节主要解释说明一下 metainfo.xml 中常用的一些属性信息原创 2020-10-24 13:44:03 · 1231 阅读 · 0 评论 -
第一讲:自定义服务集成原理讲解
之前,在 github 上开源了 ambari-Kylin 项目,可离线部署,支持 hdp 2.6+ 及 hdp 3.0+ 。github 地址为:https://github.com/841809077/ambari-Kylin ,欢迎 star 。这段时间,陆续有不少朋友通过公众号联系到我,问我相关的集成步骤。今天正好休息,索性将 ambari 自定义服务集成的原理给大家整理出来。B 站搜:create17它其实不难,但是网络上并没有多少这方面的资料分享,官方也很少,所以学习门槛就稍微高了一些。.原创 2020-10-24 13:31:51 · 1183 阅读 · 1 评论 -
第七讲:如何调试自定义服务代码,打印日志
在代码调试的过程中,日志打印是必不可少的一环,它可以打印出变量的实际值,方便我们调试代码。version:Ambari:2.7+1、引入日志方法:在 python 文件中添加:from resource_management.core.logger import Logger Logger.info("Starting sample Service")2、打印参数示例:打印:Script.get_config()clusterHostInfoconfigurati.原创 2020-10-24 11:52:02 · 289 阅读 · 0 评论 -
第六讲:实现在页面上修改或添加服务配置
概述:如何在页面上修改或添加服务配置?在页面上的每一个输入框都对应着 xml 文件中的一个 name-value 。我们可以通过 resource_management 依赖包内的方法来获取对应属性的 value 值。在页面上修改服务配置有两种方式,根据我们的需求来选择需要哪一种。方式一:创建模板文件1)约定俗称:在 package 目录下创建 templates 目录,里面就是存放配置模板的地方。以 kafka 服务为例:在 kafka 的 templates 文件里面有 kafka.con原创 2020-10-24 10:48:40 · 454 阅读 · 0 评论 -
第五讲:Ambari 自定义服务生命周期详解
1、概述本节主要介绍自定义服务的生命周期方法。2、生命周期说明Ambari 自定义服务的生命周期主要有服务的 安装、配置、启动、监听状态、停止、删除(卸载) 操作。在 metainfo.xml 文件中,在 <component> 标签下有 <commandScript> ,该标签指定了该组件要运行使用的 python 文件 。接下来,让我们来看看 master.py 文件里面到底有什么?如上图所示:master.py 文件里面有 install()、configure原创 2020-10-24 10:46:32 · 609 阅读 · 0 评论 -
第四讲:Ambari 自定义服务 python 依赖包的使用详解
1、依赖包说明自定义服务 python 项目依赖的模块是 resource_management,该模块的位置在 /usr/lib/ambari-server/lib/resource_management ,/usr/lib/ambari-agent/lib 目录下也有这个 resource_management 目录 ,这俩目录是一样的,ambari 的自定义服务程序环境就是依赖的这个目录。2、如何获取自定义服务页面上的配置信息?在 Ambari web 页面上,我们打开 自定义服务 的 配置原创 2020-10-24 10:34:12 · 1131 阅读 · 0 评论 -
第三讲:configuration 中 xml 文件详解
1、metainfo.xml 文件内对应的配置说明Ambari 自定义服务的参数配置由 xml 文件管理,默认存放在 configuration 目录下。如果要自定义该目录名称的话,可以在 metainfo.xml 中声明,在 service 标签下设置 configuration-dir 的值:<configuration-dir> 。xml 文件内的大部分(普通)属性都会在 Ambari Web UI 上的 CONFIGS 下展示,内容可编辑修改。xml 被 Ambari Server原创 2020-10-24 10:29:35 · 1495 阅读 · 0 评论