• 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 使安全配置中心化: 减少管理、配置集群安全策略的复杂性,支持KerberosApache 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,总体上个人比较倾向Ambari,不仅开源,而且有一批顶级的Apache的工程师开发、迭代,代码质量自不必多说。

    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

  • 相关阅读:
    如何查看哪些软件或进程占用了网速
    关于str.split(",")中间 什么时候该加\转义
    【转】servlet/filter/listener/interceptor区别与联系
    专题-Delphi/C++ Builder多线程编程与调试
    Android点击图标重新启动问题
    用PHP判断远程图片(文件)是否存在
    php获取目录中的所有文件名
    PHP读取一个目录下的文件个数
    2>&1 的用法说明
    【PHP操作sphinx】
  • 原文地址:https://www.cnblogs.com/luxianghao/p/7886195.html
Copyright © 2020-2023  润新知