zoukankan      html  css  js  c++  java
  • Hadoop版本选择

    刚开始学习Hadoop时就曾经一直抱怨Hadoop的安装部署为什么这么麻烦,对于一个新手需要捯饬一天才能把分布式环境安装配置好。而对于一个自学Hadoop而周围又没人交流的菜鸟来说,我对Hadoop的理解一直停留在很肤浅的层面,能应用,但对内部的原理知之甚少。最近和一个做这方面的朋友聊天,他问我你学习Hadoop是用的什么版本搭建环境,我说Hadoop版本那么多我也记不太清了,他只是笑笑就没再多问。

    回来后我又仔细想了想他问的话,不会是问的别的意思吧,难道Hadoop不是只分1.0.x和2.x这些杂七杂八的版本?上网一搜才感觉这下丢人丢大发了,原来Hadoop除了Apache这个版本,还有这么多第三方的版本,而且已经很好地解决了Hadoop部署管理复杂的问题。所以在此记录一下,也给新人提个醒。

    目前Hadoop的发行版除了Apache的开源版本之外,还有华为发行版、Intel发行版、Cloudera发行版(CDH)、Hortonworks发行版(HDP)、MapR等,所有这些发行版均是基于Apache Hadoop衍生出来的,因为Apache Hadoop的开源协议允许任何人对其进行修改并作为开源或者商业产品发布。

    国内大多数公司发行版是收费的,比如Intel发行版、华为发行版等。不收费的Hadoop版本主要有国外的四个,分别是Apache基金会hadoop、Cloudera版本(CDH)、Hortonworks版本(HDP)、MapR版本。

    Apache社区版本优缺点

    优点:

    • 完全开源免费
    • 社区活跃
    • 文档、资料详实

    缺点:

    • 复杂的版本管理。版本管理比较混乱,各种版本层出不穷,让使用者不知所措。
    • 复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下。
    • 复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,运维难度较大。
    • 复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题。

    第三方发行版本(如CDH,HDP,MapR等)优缺点

    优点:

    • 基于Apache协议,100%开源。
    • 版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4,CDH5等,后面加上补丁版本,如CDH4.1.0 patch level 923.142,表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch。
    • 比Apache Hadoop在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运行到各种生产环境。
    • 版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。
    • 基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
    • 提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群。
    • 运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。

    缺点:

    • 涉及到厂商锁定的问题。(可以通过技术解决)

    总结

    综上所述,考虑到大数据平台高效的部署和安装,中心化的配置管理,使用过程中的稳定性、兼容性、扩展性,以及未来较为简单、高效的运维,遇到问题低廉的解决成本。
    建议使用第三方发行版本。
    其中在第三发发行版中,国内应用较多的是Cloudera的CDH。大家也可以详细对比优缺点,根据自己的需要做选择。

  • 相关阅读:
    模板方法模式
    组合模式
    JS API文档
    支持 @connect写法
    PHP word导入题库
    go 复制文件和创建目录
    go文件写入
    go 文件读取
    gin连接mysql数据库
    gin多数据格式返回结果
  • 原文地址:https://www.cnblogs.com/jinhaolin/p/6750295.html
Copyright © 2011-2022 走看看