之前接触过很多很多hadoop版本,现在重新搭建平台,面临选择哪个版本的问题。


当我们决定是否采用某个软件用于开源环境时,通常需要考虑以下几个因素:
(1)是否为开源软件,即是否免费。
(2) 是否有稳定版,这个一般软件官方网站会给出说明。
(3) 是否经实践验证,这个可通过检查是否有一些大点的公司已经在生产环境中使用知道。
(4) 是否有强大的社区支持,当出现一个问题时,能够通过社区、论坛等网络资源快速获取解决方法。

对于版本选择,dongxicheng在他的博客中做过总结:点击这个链接可以查看。


版本一览表:

现在最新的版本截图:

Apache Hadoop的版本,目前有1.x 和 2.x版本。3.x版本在测试中。

1.x版本,比较经典,使用者很多。2.x版本,和1.x并不兼容。2.x完全推翻了1.x的代码,重新编写的。内部思想有借鉴。

A.经典版本 0.20.2 → 1.0.0 (第一个1.0.0的正式版本) → 1.0.3和1.0.4 (生产环境使用的较多的版本) → 1.1.2, 1.2.1(目前最新版本)

B.上面的0.21.0和0.22.0 这个分枝,就不提了。

C.下面说0.23.0(跨越版本,Yarn框架,第二代MapReduce框架,资源管理和任务调度框架) → xxx →0.23.10(目前最新版本,不过和2.x有点区别,就是不支持HA和Federation)

D.下面就是2.x版本了。将1.x和0.23.0系列合并。

①2.0.x版本:属于2.x系列版本的alpha版本。

②2.1.x版本:属于2.x系列版本的beta版本。

③2.2.0 ,2.3.0 , 2.4.0 正式版本,可用于实际生产环境中。


大部分情况下,我们可以选择

Apache社区版本:
完全开源,免费,非商业。apache社区的hadoop版本分枝较多,而且部分hadoop存在bug。在选择hadoop,hbase,hive等时,需要考虑兼容性。

Cloudera版本:
开源,免费,有商业和非商业版本。是在apache社区版本的hadoop基础上,选择相对稳定版本的hadoop,并在此基础上,进行bug修改和维护。使用者不必考虑hadoop,hbase,hive等在使用过程中,版本兼容性。

Hortonworks版本:
开源,免费,有商业和非商业版本。是在Apache基础上修改,具有apache的特色。

推荐:
实验环境使用cloudera,生产环境,看情况而定。

我分别询问了两个朋友,一个刚刚在平安信托任职大数据岗位,使用的版本是1.X,第二个朋友在安富利任职工程师,推荐我使用cloudera manager5.4.3 对应的hadoop是2.6。由此可知,2.6是最新的版本了,之前我使用的是1.2.1,现在也是时候使用更新的版本了。个人认为,如果是学习,就要学习最新的,如果是生产环境,就要用老一点的版本。

经过纠结,决定选择cloudera manager5.4.3 对应的hadoop是2.6。cloudera manager可以很方便的安装hadoop,方便使用。


Charles 于2015-12-17 Phnom Penh



版权说明:
本文由Charles Dong原创,本人支持开源以及免费有益的传播,反对商业化谋利。
CSDN博客:http://blog.csdn.net/mrcharles
个人站:http://blog.xingbod.cn
EMAIL:charles@xingbod.cn

hadoop再次集群搭建(3)-如何选择相应的hadoop版本的更多相关文章

  1. hadoop再次集群搭建(5)-CDH Install

       登录 http://node1.com:7180/.用户名和密码都是admin.启动服务命令是 service  cloudera-scm-server start 最开始两个页面直接conti ...

  2. hadoop再次集群搭建(4)-Cloudera Manager Installation

       决定选择 Cloudera Manager 进行安装,阅读官方文档,掌握大概脉络.         Cloudera Manager在集群已经实现ssh免秘钥登录,能够访问网络资源和本地资源的情 ...

  3. hadoop再次集群搭建(1)-安装系统

    从8月份到现在12月份,中间有四个月的时间没有学习hadoop系统了.其实适应新的环境,到现在一切尘埃落定,就应该静下心来,好好学习一下hadoop以及我之前很想学习的mahout.个人对算法比较感兴 ...

  4. hadoop再次集群搭建(2)-配置免秘钥ssh登录

    SSH对于大多程序员都不陌生,目前主流的云服务提供上也是通过SSH来提供链接的安全保障,比如AWS通过使用下载的私钥(private key)实现与EC2实例安全连接.GitHub通过上传的公钥(pu ...

  5. hadoop+spark集群搭建入门

    忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...

  6. Hadoop分布式集群搭建

    layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...

  7. Hadoop+HBase 集群搭建

    Hadoop+HBase 集群搭建 1. 环境准备 说明:本次集群搭建使用系统版本Centos 7.5 ,软件版本 V3.1.1. 1.1 配置说明 本次集群搭建共三台机器,具体说明下: 主机名 IP ...

  8. hadoop ha集群搭建

    集群配置: jdk1.8.0_161 hadoop-2.6.1 zookeeper-3.4.8 linux系统环境:Centos6.5 3台主机:master.slave01.slave02 Hado ...

  9. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

随机推荐

  1. (转)理解Keystone的四种Token

    Token 是什么 通俗的讲,token 是用户的一种凭证,需拿正确的用户名/密码向 Keystone 申请才能得到.如果用户每次都采用用户名/密码访问 OpenStack API,容易泄露用户信息, ...

  2. 智课雅思词汇---十八、前缀peri是什么意思

    智课雅思词汇---十八.前缀peri是什么意思 一.总结 一句话总结:前缀:peri- 表示“周围, 靠近” 词根:-peri- [词根含义]:试验,尝试 [词根来源]:英语experience, e ...

  3. java: file/outputStream/InputStream 复制文件

    java i/o 复制文件 public static void main(String[] args) throws Exception { // TODO 自动生成的方法存根 if(args.le ...

  4. ural 2023 Donald is a postman(水)

    2023. Donald is a postman Time limit: 1.0 secondMemory limit: 64 MB Donald Duck works as a postman f ...

  5. android 关于Toast重复显示解决方法

    解决思路:   不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.为了按返回键后立即使Toast不再显示,重 ...

  6. derby_学习_01_常用命令

    一.常用命令 1.创建数据库 connect 'jdbc:derby://localhost:1527/jfcsdb;create=true'; 2.查看表 show tables; 二.参考资料 1 ...

  7. BZOJ5206: [Jsoi2017]原力

    BZOJ5206: [Jsoi2017]原力 https://lydsy.com/JudgeOnline/problem.php?id=5206 分析: 比较厉害的三元环问题. 设立阈值,当点的度数大 ...

  8. java shell排序

    原理图: package suanfa; public class shellInsert { public void shellInsert1(double [] sorted,int inc){ ...

  9. word 2007,以不同颜色突出显示文本的快捷键,highlight命令

    命令:highlight 默认快捷键:Ctrl+Alt+H   查询或自定义快捷键的方法: 打开一个文档→单击左上角的office图标→word选项 左边的列表中选择自定义→在右边的窗口中,底部有个“ ...

  10. Python函数-any()

    any(iterable) 作用: 如果iterable的任何元素不为0.''.False,all(iterable)返回True.如果iterable为空,返回False. 函数等价于: def a ...