Hadoop生态圈-Cloudera Manager扫盲篇

           Hadoop生态圈-Cloudera Manager扫盲篇

                                      作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

  在讨论CDH、cloueramamager之前,我要问大家几个问题:

    1>.4000台服务器的集群(已经安装好linux操作系统且分配好IP地址),最少花费多长时间来搭建好Hadoop集群(包括Hive,HBase,Flume,Kafka,Spark等Hadoop生态圈组件)?

    2>.如果给你一天时间,你是否可以完成以上工作呢?

    3>.对于以上集群进行hadoop版本升级,你会选择什么升级方案,最少花费多长时间呢?

    4>.新版本的Hadoop,与Hive,HBase,Flume,Kafka,Spark等等兼容性问题你又打算如何处理?

  关于上述的前两个问题,我之前分享过关于Hadoop生态圈各个组件的部署笔记,没错,我们可以写个脚本一台一台去执行安装,顺利的话我们是可以在一天内完成该工作的。但是在解决后两个问题就相对较麻烦了。这时候手动部署就带来了诸多不便,因此我们需要引入专业的Hadoop集群管理软件,比如CDH,HUE,HDP等等。

 

一.Apache Hadoop 不足之处

1>.版本管理混乱

   如果部署过Hadoop的小伙伴,去官网下载安装包的时候,你会发现Hadoop各个发行版本特别多,目前主流分为三个大版本:hadoop-1.x,hadoop-2.x,hadoop-3.x。在每个不同的版本下又细分多个子版本。我们究竟应该选择哪个版本也比较麻烦。

2>.部署过程繁琐,升级过程复杂

   相比看过我之前分享关于Hadoop各个组件的安装配置,你可能会觉得部署起来特别的麻烦。稍微又一个步骤没有做好,很可能导致集群中的某个节点无法正常启动进程。比如在集群中第一次部署完全分布式模式的时候,我们需要先启动一个进程(JournalNode),然后在对NameNode进行格式化操作。

3>.兼容性差

   当你选择了Hadoop1.x版本时,那么也就意味着你只能选择相应的Hadoop 1.x版本兼容的Hadoop生态圈安装包,如果你选择的是Hadoop 2.x或者 Hadoop 3.x版本时,他们也对应的相应的Hadoop生态圈安装包,因此在部署的过程中你得考虑到版本是否兼容的问题。

4>.安全性底

   我们在使用Java代码通过HDFS分布式文件系统时,想必大家都知道Hadoop默认的安全认证仅仅只是通过用户名的匹配(我们需要手动设置Hadoop访问的用户名), 这样的安全性配置就相对来说比较低了。

 

二.Hadoop发行版本介绍

1>.Apache版本(Apache Hadoop)最原始(最基础)的版本,对于入门学习最好
  2005年Hadoop作为Lucene的子项目,Nutch的一部分正式引入Apache基金会。2006年3月份,Map-Reduce和Nutch Distributed File System(NDFS)分别被纳入称为Hadoop的项目中。
  官网地址:http://hadoop.apache.org/
2>.Cloudera's Distribution Including Apache Hadoop(简称CDH)是大型企业互联网企业中的较多(按照技术服务收费)
  2.1>.2008年成立的Coudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要包括支持,咨询服务,培训;
  2.2>.2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support;
  2.3>.CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强;
  2.4>.Coundera Manager是集群的软件分发及管理监控平台,开源在几个小时内部署好的一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持;
  2.5>.Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。
  官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
  下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/
3>.Hortonworks Data Platform(简称HDP),引入了沙盒(sandbox,也就是说我们可以直接拿过来用,对于hadoop初学者就不用考虑部署的过程的概念,它文档比较好,它是后起之秀(即起步较晚)
  3.1>.2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建;
  3.2>.公司成立之初最吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop 80%的代码;
  3.3>.雅虎工程副总裁,雅虎Hadoop开发团队负责人Eric Baldeschwieler 出任Hortonworks的首席执行官;
  3.4>Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目还包括Ambari,一款开源的安装呵呵管理系统;
  3.5>.HCatalog,一个元数据管理系统,Hcatalog现已集成到Facebook开源的Hive中。Hortonworks的Stringer开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒;
  3.6>.Hortonworks开发很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Server和Windows Azure在内的Microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元;
  官网地址:https://hortonworks.com/products/data-platforms/
  下载地址:https://hortonworks.com/downloads/#data-paltform

4>.MapR

  和其它的Hadoop发型版本相比,它的优势在于他支持linux,unix,hdfs文件系统。并且在容灾方面相比其它的版本来说更好一些。比HDFS块2-5倍,还具有镜像,快照等特性,但用的人少。

5>.EMR

  这个是亚马逊推出的一个托管的方案,这个软件我也没咋研究过。感兴趣的小伙伴可以自行百度学习一下吧。

6>.Alluxio

  基于内存的分布式文件系统,速度比HDFS有优势,但想替代HDFS进行海量存储还是不现实的,用的人也少。

7>.Kudu

  Kudu是一个秘密开发三年的解决方案,它现在已经被列为Apache的一个顶级项目(官网地址:http://kudu.apache.org/),严格来说,Kudu想替代的是HDFS+HBase的解决方案。具备低写入延迟和高性能分析的特征。缺点本身不提供SQL接口,学习成本相对较大!

替代MapReduce的产品出现:

  Spark:
    更好的利用内存,因此比MapReduce快10倍以上,它也可以很好的和Hadoop共存,On yarn模式,因此一部分场景可以替代MapReduce是可以的。
  
  Tez:     适合DAG形式的计算,也有on yarn模式,用作hive的底层计算框架效果较好,用作hive的底层计算框架效果较好,缺点还是用的人少。   
  ParameterServer:     主要用于机器学习的并行计算,和MapReduce,Spark不同的是,其采用异步通信的方式,减少由于节点间的延时和性能浪费。

 8>.为什么大数据都要学Hadoop

  非顶级公司,即非一线互联网公司(如谷歌,Facebook,百度,阿里等等),公司规模少于1000人,Hadoop几乎是分布式计算的必选方案。即使你进入顶级公司,Hadoop的经验也非常有用!比如阿里公司就没有用Hadoop生态圈组件,而是用C++自己研发了一套“阿里飞天架构”(如下图,图片来自互联网,如有侵权,请在博客下文留言!)

 

 

三.CDH简介

1>.CDH的全称是Cloudera's Distribution Including Apache Hadoop。它是Cloudera’s公司的推出的;

2>.CDH是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建;

3>.提供了Hadoop的核心:可扩展存储(HDFS),分布式计算(MapReduce);

4>.基于Web的用户界面

5>.CDH架构图

 

 6>.CDH的优势

  6.1>.版本划分清晰(CDH.3.x版本主要针对hadoop1.x版本,CDH.4.x以后版本主要针对hadoop2.x版本,一开始CDH免费版本仅支持50台集群的服务器,建议使用CDH5.x版本,因为它取消了关于50台集群的限制,不过如果需要定制化的CDH版本就得付费了)

  6.2>.版本更新速度块

  6.3>.默认支持kerberos安全认证

  6.4>.文档清晰(具体可以参考官方文档:https://www.cloudera.com/downloads/manager/5-4-3.html)

  6.5>.支持多种安装方式(比如:Cloudera Manager,Yum,Rpm,Tarball等方式,本篇博客采用Cloudera Manager方式)

 7>.CDH下载地址

  CDH5.4下载地址:http://archive.cloudera.com/cdh5/

  Cloudera Manager5.4.3下载地址:http://archive.cloudera.com/cm5/

 

四.Cloudera Manager介绍

1>.什么是Cloudera Manager

   Cloudera Manager 是一个管理CDH的端到端的应用。

2>.Cloudera Manager的作用

   主要表现在以下几个方面:

      2.1>.管理(可以管理整个集群的服务器,还可以管理CDH所安装的服务)

      2.2>.监控(可以监控集群中CDH服务器的硬件以及软件的运行情况)

      2.3>.诊断(可以以日志或图表的形式显示出集群中存在的问题)

      2.4>.集成(将hadoop生态圈的软件都集成在一起了)

3>.Cloudera Manager架构图(注意,CM是管理CDH的哟!)

  4.1>.Agent 1 .. .Agent n:

    所有的Agent相当于集群。Agent部署在每一台服务器上,Server的控制命令最终由Agent来完成,而Agent通过Python调用shell脚本来控制具体的启动或者停止的脚本执行。

  4.2>.Server

    相当于Cloudera Manager的主节点,它可以管理整个集群。它主要负责以下几件事情:

        第一:处理软件和服务器的逻辑关系;

        第二:处理服务的安装配置,启动,停止等;

        第三:控制对应的角色的启动和停止;

        第四:管理集群(每一台Agent)

  4.3>.Database

    需要关系型数据库存储数据。

  4.4>.Management Server

    对整个集群运行的硬件和软件做一些预警,监控,报告等。当你的图标没有出来的时候,你就得考虑它是否正常启动了。

  4.5>.Cloudera Repository

    Cloudera官网的支持,可以下载软件包。

  4.6>.Clients

    通过webUI或者调用对应的API来控制Server。如果你是通过webUI界面点击了某个操作,比如让某个集群停止或启动,首先这个指令会发送给Server端,然后Server端根据自己的记录去找相应的Agent执行相应的脚本来停止或者启动应用。默认Server端会想Agent发送五次指令,如果这五次指令Agent都没有相应,则Server端判定Agent端存在故障。

 

五.Cloudera Manager的部署

  详情请参考:https://www.cnblogs.com/yinzhengjie/p/9495964.html

 

六.Cloudera's Distribution Including Apache Hadoop(简称CDH)部署

  详情请参考:https://www.cnblogs.com/yinzhengjie/p/9638360.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值