Ambari介绍_李孟_新浪博客
原创
©著作权归作者所有:来自51CTO博客作者Dlimeng的原创作品,请联系作者获取转载授权,否则将追究法律责任
Ambari目标
解决Hadoop生态系统部署
部署:hadoop组件间有依赖,包括配置、版本、启动顺序、权限配置等。
部署过程跟踪。能够展示出部署过程中每个步骤的状态及相关信息。
多机部署问题,当集群规模增加后,机器出问题机率增加,在部署或更新中可能会出现机器故障
组件本身设计:hadoop及其组件需要容忍机器的故障,同时需要防止不兼容 版本组件给系统带来的影响
部署服务:需要能够容忍某些组件启动、更新失败
配置管理
可以将默认配置写入stack中(stack后续介绍),在开启时ambari将stack中各个版本的config文件读入,在使用blueprint创建集群部署hadoop时,直接生成command-json文件。(blueprint后续介绍)
服务状态展示、监控、报警
Ambari主要概念
资源
ambari将集群及集群中的服务、组件、机器都视为资源,资源的状态都会记录在db中
Hadoop生态
Stack
发行版本的含义,如HDP,可以有若干版本。
Service
服务,属于stack,一个stack下可以有多个service,service也可以分多个版本,版本间可以有继承关系。例如zookeeper就是一项服务。
Component
组件,属于service,一个service下可以有多个component组成。例如HDFS服务下的组件有datanode,namenode等。
角色
Component可以指定部署时的角色,如master、slave等,也可以指定每种角色需要的host个数。例如namenode为单一host组件,可以部署在master机器上,datanode可以部署在多台host上那么可以指定部署datanode的角色为slave
host
host为运行ambari-agent的一台机器,同时也是搭建集群内部的一台机器,可以为host设置对应的角色,例如master,slave等。
Ambari整体流程
restAPI->ambari-server
单步创建
通过调用ambari提供的restAPI进行集群的单步创建
Add cluster:新建集群
Update cluster:更新集群配置
Add service for cluster:向集群添加服务
Add component for service:为每个服务添加对应组件
Add host for cluster:添加host资源
Add component on host:设置每个host上运行的组件
Install/Start/Stop service:安装/开启/关闭 集群的对应服务
Blueprint
调用一次restAPI即可进行集群创建、服务安装、组件部署、服务开始等集群操作,简化了单步创建的调用次数。
ambari-server->ambari-agent
ambari-server端负责接收rest请求,再向agent端发送命令,发送命令的格式是json,内部包涵部署脚本执行命令(安装/开始/停止服务)所需要的配置信息,这里所指的配置信息一般是手动部署集群需要配置的xml文件,例如hadoop-site.xml文件,在blueprint或单步创建里会有详细说明。
ambari-agent执行脚本。ambari-agent所执行的脚本存储在ambari-server 机器上的/var/lib/ambari-server/resources/stacks/HDP/2.0.6/下各个service路径下的package路径下的scripts内,脚本的编写语言为python,脚本继承了名为Script的父类,该父类提供了一些函数,例如Script.get_config(),该函数将agent接收来自server端的command-json文件的内容转化为字典格式方便脚本实现部署时对配置的使用。具体anent接收到的command-json保存在了运行agent机器下的/var/lib/ambari-agent/data路径下。
上一篇:Scala编程基础01
下一篇:Ambari介绍
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
[Ambari基础]-- Ambari的基本介绍
Ambari是开源的集群管理工具,目前大数据开源厂商 Hortonworks就是使用它来管理集群
hdp ambari 身份验证 应用程序