Ambari简介
Ambari概述
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的创建、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等;除此之外,Ambari还支持Spark、Storm等计算框架及资源调度平台YARN。
Apache Ambari 从集群节点和服务收集大量信息,并把它们表现为容易使用的,集中化的接口:Ambari Web.
Ambari Web显示诸如服务特定的摘要、图表以及警报信息。可通过Ambari Web对Hadoop集群进行创建、管理、监视、添加主机、更新服务配置等;也可以利用Ambari Web执行集群管理任务,例如启用 Kerberos 安全以及执行Stack升级。任何用户都可以查看Ambari Web特性。拥有administrator-level 角色的用户可以访问比 operator-level 或 view-only 的用户能访问的更多选项。例如,Ambari administrator 可以管理集群安全,一个 operator 用户可以监控集群,而 view-only 用户只能访问系统管理员授予他的必要的权限。
Ambari体系结构
Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过Ambari Server通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。
Ambari Server 从整个集群上收集信息。每个主机上都有 Ambari Agent, Ambari Server 通过 Ambari Agent 控制每部主机
Ambari部署大数据集群阶段的误区
一,
Ambari是由Python,java混合编写的一个大数据管理工具,而大数据的很多组件也是基于Java环境运行的,因此,对于jdk的版本是有一定的要求的,Ambari-2.7.5版本应该使用jdk8-231或者以上的的jdk8版本,不宜过高或者过低。
二,
时间服务器的选择问题
如果是离线环境,那么,时间服务器最好自己搭建并使用集群内的第一个服务器作为时间服务器,如果是非离线环境,选择一个互联网比较稳定的时间服务器,比如阿里云的时间服务器。
三,
Ambari应该使用哪种数据库?
在执行 ambari-server setup 命令初始化ambari-server 的时候,有一个选择数据库的选项,看了n多博客,都是选择自建一个MySQL数据库,而Java使用MySQL需要驱动,这显然会提高一些难度,并且MySQL版本众多并不适合初学者使用,看到很多同学都迷失在数据库配置,数据库版本选择这一块了。
综上所述,在初始化ambari-server的时候,应该选择内建的postgresql数据库,优点有两个:1,专库专用 ,易于后期的维护 2,易于操作,不需要手动执行ddlSQL文件和导入数据库驱动。
在大数据集群搭建的时候,我们可能会选择有安装oozie,hive等等需要用到数据库的组件,这个时候建议搭建一个专有的独立的数据库,MySQL或者postgresql都可以,优先级应该是postgresql>mysql>oracle ,此时搭建独立的数据库也是出于解耦的理念。
初始化ambari-server的时候建议是选择n的,如下所示:
Enter advanced database configuration [y/n] (n)?
Configuring database...
Default properties detected. Using built-in database.
四,未完待续