Ambari概览
文章作者:luxianghao
文章来源:http://www.cnblogs.com/luxianghao/p/7886195.html 转载请注明,谢谢合作。
免责声明:文章内容仅代表个人观点,如有不当,欢迎指正。
---
一 引言
Ambari和Hadoop,HBase等一样是Apache的顶级开源项目,由Hortonworks公司提供,是一个大数据集群管理平台,功能包括部署,管理,监控,日志收集等,允许企业使用,而且没有集群规模的限制。
二 Ambari特点
Ambari不但提供可视化的Web UI,而且也有非常易用的REST API,有了这些就使Hadoop集群管理变得非常简单,对自动化的集群管理大有裨益。
Ambari能提供的方便大概有如下几个方面:
1 简化安装,配置和管理:把简单、高效的创建、管理、监控集群的的工作做到极致,集群配置过程中,Ambari也会提供一些可选的建议,Ambari已经部分智能化,甚至, 如果你不想通过在web端点击来创建集群,你还可以利用Ambari Blueprints(简单来说 你可以利用一份配置文件和REST API来搭建一个集群);
2 使安全配置中心化: 减少管理、配置集群安全策略的复杂性,支持Kerberos,Apache Ranger的自动化安装;
3 集群健康状态的全面可视化:通过全面的监控来确保集群的健康和可用性,并配置预定义的告警;使用Grafana捕获并可视化程序运行过程中的指标,用来分析和故障排查;
4 高度的可扩展性和可定义性:可以给Ambari Stacks添加自定义的服务,并进行管理;可以编辑Ambari views生成自定义的Ambari Web UI
三 同类产品比较(大数据集群管理的几个阶段)
1 纯人肉操作阶段:大数据集群一般都规模较大,一个规模较大的集群可能有上千个节点,为了方便集群部署,起停服务,一般会给集群的节点间配置免密码SSH,用纯linux shell命令来管理集群,当然这样的方式一般是学习或测试时来搭建小集群,当集群规模大起来后就行不通了;
2 在1的基础上借助ansible(批量操作工具),puppet(配置管理工具)等工具来操作集群,这样就能管理规模稍大一点的集群,但是这仍然弊端很多,比如ansible命令容易敲错造成误操作,为了管理配置需要配置puppet;
3 平台化、可视化的工具:如Ambari,Cloudera Manager,小米Minos;
a)Ambari:上面已经介绍;
b)Cloudera Manager:和Ambari基本类似,但是不开源,这是多数工程师不能容忍的;
c)小米Minos:其开源的版本目前还不能可视化的操作集群,但是已经有了监控,包管理,配置管理等功能,基本功能都用,比较容易上手。
四 Ambari架构
1 整体架构图

2 Ambari Server架构图

3 Ambari Agent架构

五 Ambari技术栈
Ambari Server:Java
Ambari Web:Ember.js,Handlebars.js,jQuery,Bootstrap 2,LESS
Ambari Admin Web:AngularJS
Ambari Agent:Python
REST server框架: Jersey (JAX-RS)
Database: Postgres, Oracle, MySQL
ORM: EclipseLink
编译调试工具:Idea,Mvn,Brunch,Gulp
五 相关链接
Ambari Git代码库: https://github.com/apache/ambari
Ambari官网:https://ambari.apache.org/
Ambari WIKI:https://cwiki.apache.org/confluence/display/AMBARI/Ambari
Hortonworks社区:https://community.hortonworks.com/index.html
Ambari概览的更多相关文章
- Ambari Auto Start(进程自动拉起)
文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/7886850.html 转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...
- Hadoop学习-生态体系(ecosystem)概览
0. 大背景 全球No.1搜索引擎公司谷歌(Google)面临每天海量搜索引擎数据的问题,经过长时间的实践积累, 谷歌形成了自己的大数据框架,但是并没有开源,而是发表了一篇论文,阐述了自己的思想,在论 ...
- 手把手教你通过Ambari新建Hadoop集群图解案例
手把手教你通过Ambari新建Hadoop集群图解案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 登陆系统之后,会看到Ambari空空如也的欢迎界面,接下来我们就需要介绍如何通 ...
- 基于Ambari的WebUI实现服务缩容
基于Ambari的WebUI实现服务缩容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.实现服务的扩容 1>.进入到主机的管理界面 2>.查看主机的信息概览 3&g ...
- 基于Ambari Server部署HDP集群实战案例
基于Ambari Server部署HDP集群实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari Server端 博主推荐阅读: https://www.c ...
- Activity之概览屏幕(Overview Screen)
概览屏幕 概览屏幕(也称为最新动态屏幕.最近任务列表或最近使用的应用)是一个系统级别 UI,其中列出了最近访问过的 Activity 和任务. 用户可以浏览该列表并选择要恢复的任务,也可以通过滑动清除 ...
- Atitit 软件工程概览attilax总结
Atitit 软件工程概览attilax总结 1.1. .2 软件工程的发展 进一步地,结合人类发展史和计算机世界演化史来考察软件工程的发展史. 表2 软件工程过程模型 表2将软件工程的主要过程模型做 ...
- Ambari组件黄色预警
Ambari组件黄色预警 组件上为黄色问号,代表心跳丢失,解决如下: 1. 查看个节点之间是否可以相互通信,若ssh连接不上,有可能是该节点关机了,没有打开,手动开启该节点,再次验证是否可互通. 2 ...
- iOS开发系列—Objective-C之基础概览
概览 前面我们已经用了几章内容进行C语言介绍,当然要通过几篇文章完整的介绍C语言的知识是不太现实的,例如C语言的文件操作.内存申请等我们都没有重点介绍,当然核心知识点基本都已经提到了,后面有时间我们会 ...
随机推荐
- 关于KVO导读
入门篇 KVO是什么? Key-value observing is a mechanism that allows objects to be notified of changes to spec ...
- 【特效】几种实用的按钮hover效果
效果预览:http://www.gbtags.com/gb/rtreplayerpreview-standalone/3095.htm html: <ul class="btn&quo ...
- 【转载】CSS direction属性简介与实际应用
文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/wordpress/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=5 ...
- ubuntu6.04下安装Eclipse for C/C++ Development
ubuntu6.04下安装Eclipse for C/C++ Development 首先安装gcc/g++ 需要安装jdk,有的可以尝试安装openjdk. sudo apt-get install ...
- Java-JMS Bug记录
1.Junit测试时,使用for循环发送JMS(ReportQuestionSender)的时候,监听器(ReportQuestionListener)只接受到一条消息. 原因:使用Junit测试会阻 ...
- ARM总线方面知识
AMBA简介 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的SoC设计中,片 ...
- (转)Java正则表达式的语法与示例
转自:http://www.cnblogs.com/lzq198754/p/5780340.html 概要: Java正则表达式的语法与示例 | |目录 1匹配验证-验证Email是否正确 2在字符串 ...
- LeetCode 153. Find Minimum in Rotated Sorted Array (在旋转有序数组中找到最小值)
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...
- 使用 Hadoop 进行语料处理(面试题)
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7751741.html ------------------------------------ ...
- 微信小程序支付
@Controllerpublic class UserPayToMerchantController { public static final String appid="******* ...