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 NameWhen Used
general_deps命令顺序适用于所有情况
optional_glusterfs当集群没有GLUSTERFS服务实例时,将应用命令顺序
optional_no_glusterfs当集群具有GLUSTERFS服务的实例时,将应用命令顺序
namenode_optional_ha安装HDFS服务且存在JOURNALNODE组件时启用命令顺序(启用HDFS HA)
resourcemanager_optional_ha安装YARN服务时存在命令顺序,并且存在多个RESOURCEMANAGER主机组件(启用了YARN HA)
四、COMMAND

Ambari目前支持的命令是

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

举例:

Role Command OrderExplanation
“HIVE_METASTORE-START”: [“MYSQL_SERVER-START”, “NAMENODE-START”]在启动Hive Metastore之前启动MySQL和NameNode组件
“MAPREDUCE_SERVICE_CHECK-SERVICE_CHECK”: [“NODEMANAGER-START”, “RESOURCEMANAGER-START”],MapReduce服务检查需要ResourceManager和NodeManagers启动
“ZOOKEEPER_SERVER-STOP” : [“HBASE_MASTER-STOP”, “HBASE_REGIONSERVER-STOP”, “METRICS_COLLECTOR-STOP”],在停止ZooKeeper服务器之前,请确保已停止HBase Masters,HBase RegionServers和AMS Metrics Collector。
“ELASTICSEARCH_SERVICE-START”: [“METRICS_COLLECTOR-START”, “METRICS_MONITOR-START”, “METRICS_GRAFANA-START”]当启动metrics和ES组件时,metrics组件启动在前,ES组件在后
“ELASTICSEARCH_SERVICE_CHECK-SERVICE_CHECK”: [“ELASTICSEARCH_SERVICE-START”]ES check操作在ES start操作之后
“<DEPENDENT_COMPONENT_1>-”: ["<DEPENDS_ON_COMPONENT_1>-", “<DEPENDS_ON_COMPONENT_1>-”]组件名-命令
“<DEPENDENT_COMPONENT>-”: ["<服务名称>_SERVICE_CHECK-SERVICE_CHECK" ]这里要注意,服务检查的命令为:<服务名称>_SERVICE_CHECK-SERVICE_CHECK
五、实例
{
  "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


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

[外链图片转存失败(img-pGQeVMjy-1562071431044)(https://raw.githubusercontent.com/841809077/blog-img/master/weixinggzh.png)]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在使用Ambari来部署Hadoop集群时,以下是Hadoop组件启动的一般顺序: 1. ZooKeeper:ZooKeeper是一个分布式协调服务,在Hadoop集群中用于管理和协调其他组件。首先,启动ZooKeeper服务。 2. HDFS(Hadoop Distributed File System):HDFS是Hadoop的分布式文件系统。按照以下顺序启动HDFS组件: - NameNode:启动NameNode服务,它是HDFS的主节点,负责管理文件系统的命名空间和元数据。 - SecondaryNameNode(可选):如果使用SecondaryNameNode组件,启动SecondaryNameNode服务,它负责定期合并NameNode的编辑日志并创建检查点。 - DataNode:启动DataNode服务,DataNode是HDFS的数据节点,负责存储实际的文件数据。 3. YARN(Yet Another Resource Negotiator):YARN是Hadoop的资源管理器,用于管理集群资源和任务调度。按照以下顺序启动YARN组件: - ResourceManager:启动ResourceManager服务,它是YARN的主节点,负责整个集群的资源管理和作业调度。 - NodeManager:启动NodeManager服务,NodeManager运行在每个节点上,负责管理该节点上的资源和任务。 4. MapReduce历史服务器(可选):如果使用MapReduce历史服务器组件,可以启动它来查看旧的MapReduce作业历史信息。 5. Hive Metastore服务(可选):如果使用Hive,启动Hive Metastore服务,它是Hive的元数据存储。 6. Spark历史服务器(可选):如果使用Spark,可以启动Spark历史服务器来查看Spark应用程序的历史信息。 请注意,以上是一般情况下的启动顺序,并且可能会因特定的配置或需求而有所不同。在启动之前,请确保相关的配置文件已正确设置,并且网络连接正常。启动过程中,可以查看Ambari界面或相应的日志文件来检查是否有任何错误或异常情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

create17

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

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

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

打赏作者

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

抵扣说明:

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

余额充值