Ambari-stack介绍
Ambari-stack总体介绍
- Ambari-stack 表示hadoop某个发行版本号。比如HDP-1.0.0,在用ambari创建一个集群时,首先要通过调用restfulAPI设置stack版本号。
- stack下包括一个或多个service,比如HDP-2.0.6下包括多个service,各自是 ZOOKEEPER,HDFS,YARN,等。
- 单个service下通过配置service下存储的metainfo.xml来设置构成服务的component(组件)以及部署组件的部署脚本、执行组件的角色名称、部署脚本的文件名、部署脚本的语言种类等信息。
- stack下package/script/ 存放agent操作相关component(组件)的脚本,ambari-agent会依据脚本的函数名称调用脚本的相应函数。
- stack版本号能够通过metainfo.xml设置继承关系。比如HDP-2.1继承了HDP-2.0.6的各个服务。
Ambari-stack文件夹结构
- HDP
- 2.0.6
- metainfo.xml (stack的相关信息,包含继承关系等版本号层的性质)
- services (该路径下存储各个服务)
- ZOOKEEPER
- metainfo.xml (里面配置了组件名称,操作组件的脚本名称。脚本的语言种类等信息)
- configuration
- global.xml (服务配置,在blueprint创建集群时使用)
- zookeeper-log4j.xml
- package
- scripts
- zookeeper_server.py (组件的操作脚本 包含安装、查询状态、开启组件、关闭组件等操作)
- zookeeper_cilent.py
- ...
- zookeeper_server.py (组件的操作脚本 包含安装、查询状态、开启组件、关闭组件等操作)
- templates (在部署时脚本里所用到的模板文件)
- ...
- scripts
- YARN
- ...
- HDFS
- ...
- ...
- ZOOKEEPER
- hooks (在调用脚本前须要运行的脚本。比如为集群各个服务创建linux-user)
- ...
- repos (yum安装所须要的repos配置信息)
- ...
- 2.0.6
- 当写创建好stack后。须要重新启动ambari-server。能够在浏览器中通过restfulAPI来查看stack创建是否成功。
- http://<ambari-server>:8080/api/v1/stacks
- 对于服务下的metainfo.xml一定要保证格式、内容的正确性,假设ambari不能正常读取,那将识别不出stack的信息。
Ambari-stack 脚本编写规则介绍
- Ambari-agent在运行脚本时,会依据脚本的函数名进行调用。
下面是基本操作函数。
- 实现方式是一个组件建一个类,该类能够继承ambari提供的父类Script。该父类提供了一些默认方法比如状态检查,转换json等方法。
install()
- 在调用ambari-server安装相应服务的restapi时,ambari-server会给ambari-agent发送command-json格式的文件,agent会调用脚本中名为install()函数来进行部署。
- 函数作用在于在集群内部署该服务的相应组件。
start()
- 函数作用是开启该服务下相应组件。
- 注意:该方法须要在install成功后调用。
stop()
- 该函数作用是停止该服务下的相应组件。
- 注意:该方法调用的api与install同样且组件状态为STARTED。
status()
- 在组件开启后。agent会不断检測组件的状态,并把状态通过心跳汇报给server端,server端收到心跳状态后更新当前集群的服务信息,当用户调用install api来停止组件时,server依据更新后的组件信息来向相应的host发出命令,假设某组件异常终止。那么server在发送停止命令时不会向异常终止的组件所在的agent发送停止命令。
- status()状态检查能够使用父类提供的一种方式,check_process_status(file_path)。该函数针对提供的文件路径检查相应文件内部的组件进程号是否存在。假设不存在,那么agent就通过心跳汇报给server。
- main()
- 操作脚本的main函数直接调用父类的execute()函数就可以。
Ambari-stack介绍的更多相关文章
- ELK Stack 介绍 & Logstash 日志收集
ELK Stack 组成 Software Description Function E:Elasticsearch Java 程序 存储,查询日志 L:Logstash Java 程序 收集.过滤日 ...
- java集合系列——List集合之Stack介绍(五)
1.Stack的简介 Stack 类表示后进先出(LIFO)的对象堆栈.它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈.它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 ...
- 堆栈Stack介绍
堆栈(Stack)代表了一个后进先出的对象集合.当您需要对各项进行后进先出的访问时,则使用堆栈.当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素. Stack 类的方法和属性 ...
- Treiber Stack介绍
简介 Treiber Stack在 R. Kent Treiber在1986年的论文Systems Programming: Coping with Parallelism中首次出现.它是一种无锁并发 ...
- Java 集合系列07之 Stack详细介绍(源码解析)和使用示例
概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...
- Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- java之Stack详细介绍
1 Stack介绍 Stack简介 Stack是栈.它的特性是:先进后出(FILO, First In Last Out). java工具包中的Stack是继承于Vector(矢量队列)的,由于Ve ...
- 【转】 Java 集合系列07之 Stack详细介绍(源码解析)和使用示例
概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...
- 从零自学Hadoop(05):Ambari
阅读目录 序 引入背景 Ambari介绍 在线安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...
- stack
stack介绍:先进后出 实现C++STL,栈有两个参数:template<class T,class Container = deque<T>> class stack: 参 ...
随机推荐
- UITextView自适应高度
- (float) heightForTextView: (UITextView *)textView WithText: (NSString *) strText{ float fPadding = ...
- linux kernel下输入输出console怎样实现
近期工作在调试usb虚拟串口,让其作为kernel启动的调试串口,以及user空间的输入输出控制台. 利用这个机会,学习下printk怎样选择往哪个console输出以及user空间下控制台怎样选择. ...
- awk备忘
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- Oracle 11g 更改字符集
查看字符集: select * from v$nls_parameters where parameter = 'NLS_CHARACTERSET'; 修改字符集: sqlplus "/as ...
- eclipse svn插件
eclipse svn插件 CreateTime--2018年4月22日23:09:42 Author:Marydon 下载地址:eclipse svn插件 将svn插件目录直接拷贝到eclips ...
- oracle卸载清除注册表(彻底卸载)
用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢? 那就是直接注册表清除,步骤如下: . 开始->设置->控制面板-& ...
- C#编写的 8种初级+高级排序方法(转)
摘自:http://blog.csdn.net/mevin/article/details/6714520 程序代码: view plaincopy to clipboard using System ...
- NYOJ-------笨蛋难题四
笨蛋难题四 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 这些日子笨蛋一直研究股票,经过调研,终于发现xxx公司股票规律,更可喜的是 笨蛋推算出这 ...
- Pandas中DataFrame修改列名
Pandas中DataFrame修改列名:使用 rename df = pd.read_csv('I:/Papers/consumer/codeandpaper/TmallData/result01- ...
- 动态计算UITableViewCell高度详解
本文将介绍四种情况下UITableViewCell的计算方式,分别是: Auto Layout with UILabel in UITableViewCell Auto Layout with UIT ...