运维管理Hadoop生态集群工具比较
现在想学习大数据肯定学习Hadoop,每个新手在学习Hadoop的时候都需要去安装一个属于自己的测试环境才能开始愉快的玩耍。但是Hadoop的发行版本非常多,我们常用的主要有三个版本。
-
Cloudera版本(CDH)
-
Apache开源版本
-
Hortonworks版本(HDP)
上面的顺序也是在国内的使用率排序了。其中CDH版本由于对Hadoop版本划分非常清晰,相关文档比较规范因此很多人都在使用。
而Apache的开源版本版本繁多,各个版本与其他版本之间的兼容性问题较大,而且需要编写大量的配置文件,并需要将其分发到各个节点,新手很容易出错,打击自己的积极性,而且效率比较低下。
我们之前写的安装教程都是Apache版本Hadoop安装教程。如果是搭建自己的测试环境那么这种繁琐程度还可以接受,但是如果是需要管理数十台或者成百上千台的机器的时候这就是一个非常巨大的工作量了。而且运维过程当中可能会有各种奇怪的问题,导致我们会浪费很多时间,那么万能的程序员会被此打败吗?No!!!
Ambari 和 Cloudera Manager这两个系统就是为了简化Hadoop生态集群的安装,配置而生的。同时还可以去提高Hadoop的运维效率,以及对Hadoop集群进行监控。
Cloudera Manager是cloudera公司的一个产品,着重于帮助大家管理自己的CDH集群,并且我们可以通过其web界面快速的自动配置和部署CDH和其他相关组件,还有统一日志管理功能,统一集群配置管理功能和实时更改配置功能等。 官网地址
而Ambari则是Apache基金会的顶级项目,它同样集安装,配置,管理和监控等功能于一体,提供了可视化的操作。并且支持查看MapReduce,Hive等应用程序的能力,可以对其性能特性进行诊断。 官网地址
主要的不同点 | apache Ambari | ClouderaManager Express(免费版) |
---|---|---|
配置版本控制和历史记录 | 支持 | 不支持 |
二次开发 | 支持 | 不支持 |
集成 | 支持 | no (不支持redis、kylin、es) |
维护 | 依靠社区力量 | cloudera做了一些定制开发,自行维护或打patch会离社区越来越远 |
权限控制 | ranger(相对简单) | sentry(复杂) |
视图定制 | 支持创建自己的视图,添加自定义服务 | 不支持 |
如果我们使用的是CDH或者HDP版本的Hadoop那么我们有现成的工具管理整个集群,但是我们不难发现,两者没有对Apache的Hadoop版本进行处理,我们前面将到的 包括我们现在使用的都是基于Apache版本的Hadoop,那么集群的安装和配置都是一个繁琐的操作,我自己搞了一个安装脚本,但是还很粗糙,很多东西都没有抽象。后续规划搞成一个服务。