ambari的服务启动顺序如何设置

        “ 本文介绍如何设置ambari的各服务启动顺序

声明:博主写了一些Ambari自定义服务系列文章,可以在历史文章中查看。 仔细看,肯定会对ambari的自定义服务有一个更清晰的认识。 引言:ambari平台系统上的服务有很多,众所周知,每一个服务都是由各个组件所组成。如果我点击页面上的 启动/停止全部服务 或者 启动/停止单个服务,各个组件之间的启动停止顺序是怎么设置的呢?本篇内容为你解除心中的疑问

一、Role Command Order

角色是组件的另一个名称(例如:NAMENODE,DATANODE,RESOURCEMANAGER,HBASE_MASTER等)。 顾名思义,可以告诉Ambari关于应该为堆栈中定义的组件运行命令的顺序。 例如:“应在启动NameNode之前启动ZooKeeper服务器”。或者“只有在NameNode和DataNodes启动后才能启动HBase Master”。 这可以通过在stack-version文件夹中包含role_command_order.json文件来指定。

在Ambari的Service目录中,存在很多个叫做role_command_order.json的配置文件。这个文件中定义了Service状态以及Action的依赖。

resource目录下的role_command_order.json定义着全局的的依赖。每个Stack目录下也会存在role_command_order.json。相同的配置,Stack下面的会覆盖全局的。不同的配置,Ambari会拼接在一起。高版本的Stack会继承低版本的配置。相同的也会overwrite,不同的merge。

二、Format

该文件以JSON格式指定,包含一个JSON对象。在每个section对象中,键描述了依赖的component-action,值列出了应该在它之前完成的component-actions。

{
  "_comment": "Section 1 comment",
  "section_name_1": {
    "_comment": "Section containing role command orders",
    "<DEPENDENT_COMPONENT_1>-<COMMAND>": ["<DEPENDS_ON_COMPONENT_1>-<COMMAND>", "<DEPENDS_ON_COMPONENT_1>-<COMMAND>"],
    "<DEPENDENT_COMPONENT_2>-<COMMAND>": ["<DEPENDS_ON_COMPONENT_3>-<COMMAND>"],
    ...
  },
  "_comment": "Next section comment",
  ...
}

三、Sections

Section Name

When Used

general_deps

命令顺序适用于所有情况

optional_glusterfs

当集群没有GLUSTERFS服务实例时,将应用命令顺序

optionalnoglusterfs

当集群具有GLUSTERFS服务的实例时,将应用命令顺序

namenodeoptionalha

安装HDFS服务且存在JOURNALNODE组件时启用命令顺序(启用HDFS HA)

resourcemanageroptionalha

安装YARN服务时存在命令顺序,并且存在多个RESOURCEMANAGER主机组件(启用了YARN HA)

四、COMMAND

Ambari目前支持的命令是

  • INSTALL
  • UNINSTALL
  • START
  • RESTART
  • STOP
  • EXECUTE
  • ABORT
  • UPGRADE
  • SERVICE_CHECK
  • CUSTOM_COMMAND
  • ACTIONEXECUTE

举例:

Role Command Order

Explanation

"HIVEMETASTORE-START": ["MYSQLSERVER-START", "NAMENODE-START"]

在启动Hive Metastore之前启动MySQL和NameNode组件

"MAPREDUCESERVICECHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"],

MapReduce服务检查需要ResourceManager和NodeManagers启动

"ZOOKEEPERSERVER-STOP" : ["HBASEMASTER-STOP", "HBASEREGIONSERVER-STOP", "METRICSCOLLECTOR-STOP"],

在停止ZooKeeper服务器之前,请确保已停止HBase Masters,HBase RegionServers和AMS Metrics Collector。

"ELASTICSEARCHSERVICE-START": ["METRICSCOLLECTOR-START", "METRICSMONITOR-START", "METRICSGRAFANA-START"]

当启动metrics和ES组件时,metrics组件启动在前,ES组件在后

"ELASTICSEARCHSERVICECHECK-SERVICECHECK": ["ELASTICSEARCHSERVICE-START"]

ES check操作在ES start操作之后

"-": ["-", "-"]

组件名-命令

五、实例

{
  "general_deps" : {
    "_comment" : "dependencies for elasticsearch",
    "ELASTICSEARCH_SERVICE-START": ["METRICS_COLLECTOR-START", "METRICS_MONITOR-START", "METRICS_GRAFANA-START"],
	"ELASTICSEARCH_SERVICE-RESTART": ["METRICS_COLLECTOR-START", "METRICS_MONITOR-START", "METRICS_GRAFANA-START"],
    "ELASTICSEARCH_SERVICE_CHECK-SERVICE_CHECK": ["ELASTICSEARCH_SERVICE-START"]
  }
}

说明:在执行key命令之前,请先确保value项都被执行。

在执行 ELASTICSEARCH_SERVICE启动之前,启动 METRICS_COLLECTORMETRICS_MONITORMETRICS_GRAFANA

在执行 ELASTICSEARCH_SERVICE重启之前,启动 METRICS_COLLECTORMETRICS_MONITORMETRICS_GRAFANA

在执行 ELASTICSEARCH_SERVICE检查操作在 ELASTICSEARCH_SERVICE开始操作之后。

六、参考资料

【1】:https://cwiki.apache.org/confluence/display/AMBARI/How-To+Define+Stacks+and+Services#How-ToDefineStacksandServices-RoleCommandOrder


更多精彩干货内容,请关注微信公众号实时查看

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何在Redhat7.4安装CDH5.15

6073
来自专栏码生

react-navigation 监听页面显隐(viewDidAppear viewDidDisappear)

我们经常遇到的需求就是,当某个界面出现的时候,就刷新一下此界面的数据 保证用户的数据处于一种相对同步的情况

2734
来自专栏JMCui

Spring消息之WebSocket

2013
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (5)

之前的配置都是在内存中, 下面将如何把这些数据存储到Sql Server数据库, 这样更适合生产环境. 这部分基本完全参考官方文档: https://ident...

3755
来自专栏Hadoop实操

如何启用Oozie的HA

Oozie是基于Hadoop的作业调度工具,工作流引擎,在实际工作中,遇到对数据进行一连串的操作的时候很实用,不需要自己写一些处理代码了,只需要定义好各个act...

1.4K6
来自专栏禁心尽力

SpringBoot整合Mybatis之进门篇

已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结。        之前...

1.4K6
来自专栏PHP在线

重磅资料!Github上的PHP资源汇总大全

依赖管理 ——用于依赖管理的包和框架 Composer/Packagist : 一个包和依赖管理器 Composer Installers: 一个多框架Com...

3164
来自专栏PPV课数据科学社区

【工具】大数据在线分析利器:Hue

? Hue百科: Hue 是一种基于Apche hadoop基础平台的在线开源数据分析接口,参见 gethue.com ? Hue的主要功能: 提供SQL 接...

4546
来自专栏蓝天

Hive 1.2.1&Spark&Sqoop安装指南

本文的安装参照《Hive 0.12.0安装指南》,内容来源于官方的:GettingStarted,将Hive 1.2.1安装在Hadoop 2.7.1上。本...

2011
来自专栏Java3y

WebSocket就是这么简单

前言 今天在慕课网上看到了Java的新教程(Netty入门之WebSocket初体验):https://www.imooc.com/learn/941 WebS...

1.2K5

扫码关注云+社区

领取腾讯云代金券