ambari mysql 开机自动启动_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",

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

"-":["-"],

...

},

"_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_COLLECTOR, METRICS_MONITOR, METRICS_GRAFANA

在执行 ELASTICSEARCH_SERVICE重启之前,启动 METRICS_COLLECTOR, METRICS_MONITOR, METRICS_GRAFANA

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

六、参考资料

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

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

a4e921a41cd9b6572c472fd1664bc879.png

内容持续更新中,点击阅读全文获取文章的最新内容

e7a7254a3e12430c571fede690e9bbb0.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值