1 文档编写目的

Cloudera于2018年8月30日正式发布CDH6.0.0,至2019年2月19日,最新的迭代版本为CDH6.1.1,可能马上就会发布CDH6.2。CDH6是基于Hadoop3同时包含大量其他组件的大版本更新的发布版本,许多用户考虑到未来CDH的版本主要是基于C6,而CDH5会慢慢的停止更新,所以考虑新搭集群使用CDH6,或者想把已有的CDH5集群升级到CDH6。第一个问题就是需要考虑CDH5和CDH6的差别,通过分析一些差异看能否将已有的应用迁移或者直接部署到CDH6,兼容性稳定性是否存在问题等。出于这个目的,本文会从各个方面详细比较CDH5和CDH6的差别,从而让用户能够进行正确的判断并进行相应的选择。以下内容主要基于最新的CDH5.16.1和CDH6.1.1进行比较。最后再次强调,没有最好的技术,也没有最新的技术就是最好的,永远只有最合适的技术。

2 组件版本对比

组件 CDH5.16.1 CDH6.1.1
Cloudera Manager 5.16.1 6.1.1
CDSW 1.5 1.5
Cloudera Navigator 2.15.1 6.1.1
Flume-ng 1.6.0 1.8.0
Hadoop 2.6.0 3.0.0
HBase 1.2.0 2.1.0
Hive 1.1.0 2.1.1
Hue 3.9.0 3.9.0
Impala 2.12.0 3.1.0
Oozie 4.1.0 5.0.0
Pig 0.12.0 0.17.0
Sentry 1.5.1 2.1.0
Solr 4.10.3 7.4.0
Spark 1.6.0/2.3.0 2.4.0
Sqoop 1.4.6 1.4.7
Sqoop2 1.99.5
Zookeeper 3.4.5 3.4.5
Kafka 1.0.1 2.0.0
Kudu 1.7.0 1.8.0

3 操作系统支持

操作系统 CDH5.16.1 CDH6.1.1
RHEL/CentOS/OL with RHCK kernel 7.6, 7.5, 7.4, 7.3, 7.2, 7.1, 6.10, 6.9 , 6.8, 6.7, 6.6, 6.5, 6.4, 5.11, 5.10, 5.7 7.6, 7.5, 7.4, 7.3, 7.2, 6.10, 6.9 , 6.8
Oracle Linux (OL) 7.5, 7.4, 7.3, 7.2, 7.1 (UEK default), 6.9, 6.8 (UEK R2, R4), 6.7, 6.6, 6.5 (UEK R2, R3), 6.4 (UEK R2), 5.11, 5.10, 5.7 (UEK R2) 7.4, 7.3, 7.2 (UEK default), 6.10 (UEK default)
SLES 12 SP3, 12 SP2, 12 SP1, 11 SP4, 11 SP3 12 SP3, 12 SP2
Ubuntu 16.04 LTS (Xenial), 14.04 LTS (Trusty) 16.04 LTS (Xenial)
Debian 8.9, 8.4, 8.2 (Jessie), 7.8, 7.1, 7.0 (Wheezy) 不支持

4 元数据库支持

数据库 CDH5.16.1 CDH6.1.1
MySQL 5.1, 5.5, 5.6, 5.7 5.7
MariaDB 5.5, 10.0 5.5, 10.0
PostgreSQL 8.1, 8.3, 8.4, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 10 8.4, 9.2, 9.4, 9.5, 9.6, 10.x
Oracle 11g R2, 12c R1, 12.2 12.2

5 JDK支持

JDK CDH5.16.1 CDH6.1.1
JDK7 1.7u55, 1.7u67, 1.7u75, 1.7u80 不支持
JDK8 1.8u31, 1.8u74, 1.8u91, 1.8u102, 1.8u111, 1.8u121, 1.8u131, 1.8u144, 1.8u162, 1.8u181 1.8u31, 1.8u74, 1.8u91, 1.8u102, 1.8u111, 1.8u121, 1.8u131, 1.8u141, 1.8u162, 1.8u181
OpenJDK 1.8u181(CDH5.16之前的版本不支持OpenJDK) 1.8u181

6 单用户模式

我们一般在安装CDH时,都是使用root或具有sudo权限的用户安装的,如果大家有注意会发现用于管理每台主机上的Hadoop进程的Cloudera Manager Agent服务(cloudera-scm-agent)是以root用户身份运行的。但是在有些企业,运维部门有严格的要求,需要CDH使用自己的用户来管理即不能随便使用root,比如要求cloudera-scm-agent服务以其他用户进行启停和管理。从Cloudera Manager 5.3开始Cloudera提供了single user mode,来满足这种要求。在单用户模式下,Cloudera Manager Agent和所有由Cloudera Manager管理的服务进程都可以由配置的用户来启动。单用户模式优先考虑Hadoop与系统其余进程之间的隔离,而不是Hadoop进程之间的隔离。对于Cloudera Manager的部署,单用户模式是全局的,适用于由该Cloudera Manager管理的所有集群。默认情况下,单用户是cloudera-scm。

从CDH6开始,不再支持单用户模式,安装必须使用root或具有sudo权限的用户安装。

参考:

《0517-如何在CDH5中使用单用户模式》

《0520-如何使用非root用户启动CM的Server和Agent服务》

《0547-CM Server和Agent服务停止脚本说明》

《0547-CM Server和Agent服务停止脚本说明》

《0548-5.13.1-如何使用普通用户管理CM server和agent服务》

《0551-6.1-普通用户配置kill CDH集群进程权限》

7 Cloudera Manager

7.1 安装

1.从安装方式上来看,CDH6与CDH5变化不大,这也方便了CDH5的用户可以较为快速的迁移到CDH6,以及适应CDH6的安装与使用。

2.安装向导界面有一些变化,现在可以一目了然的看到一共多少步骤,以及每个步骤是干什么。

3.进到主界面变化也不大,主要是Cloudera的logo变成了黑色,与Cloudera主页的整体风格一致。

4.在配置Cloudera Manager连接到数据库时的脚本有所变化。以前是/usr/share/cmf/schema/scm_prepare_database.sh,现在是/opt/cloudera/cm/schema/scm_prepare_database.sh

5.Cloudera Manager服务的状态在Redhat7通过systemctl status cloudera-scm-server查看是显示正确,而以前是不正确的。

6.Cloudera Manager的rpm安装包由之前的7个变成了5个,去掉了之前的JDK6的包,然后自带JDK1.8.0_141,将不再支持JDK1.7。

7.注意CM的安装除了下载rpm包以外,还要下载allkeys.asc文件,否则安装agent的时候会报以下错误:

8.对于离线安装CDH6.0,分发Parcel出现hash校验失败的问题,是因为在CM6中修复了一个bug,让它不再忽略由http服务器发送的“Content-Encoding”的header信息,但是我们在Redhat中安装的httpd服务,当它传输parcel文件时,默认会错误的设置“Content-Encoding”。于是CM server会错误的认为parcel文件已经被httpd压缩并尝试解压缩。所以会导致失败。解决办法是设置httpd的conf文件,AddType application/x-gzip .gz .tgz .parcel,然后重启httpd服务和CM服务。

9.在安装过程中会有页面提示Auto-TLS,该步骤可以忽略,不过如果对主机通信或者CM页面访问有SSL/TLS需求的话,也可以按照提示进行配置。

参考:

《0491-如何在Redhat7.4安装CDH6.1》

7.2 Cloudera免费版节点数限制

Cloudera免费版现在不允许集群节点数超过100,具体如下描述:

1.单个Cloudera Manager管理的所有CDH6.x集群所包含的主机总数不允许超过100个,如果超过,增加主机会失败。

2.如果Cloudera Manager管理的集群主机数量超过100,Cloudera Manager不允许将集群升级到CDH6.x。如果你主机总数超过100,从Cloudera Manager6.0升级到6.1会失败,这时你需要移除一些主机使总数小于100,然后重新升级才能成功。

注意:如果你从Cloudera企业版降级为Cloudera免费版后,并且你的主机数量超过了100,这时Cloudera Manager会禁用集群管理的所有功能除了停止集群。如果主机总数超过100,你将无法重启集群或以其他方式使用集群,必须使用Cloudera Manager删除主机使主机总数小于100后才能恢复正常。

受影响的版本:Cloudera Manager6.1或更高版本

7.3 Cloudera Manager6.0的新特性

参考:

https://www.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cm_600_new_features.html

7.4 Cloudera Manager6.1的新特性

参考:

《0488-Cloudera Manager6.1的新功能》

8 CDH6的新特性

8.1 CDH6.0的新特性

参考:

https://www.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_600_new_features.html

8.2 CDH6.1的新特性

参考:

《0487-CDH6.1的新功能》

9 总结

CDH6相对于CDH5是一次各个组件的大版本升级,要理解大版本更新,这里先解释一下Hadoop相关组件的版本说明。比如版本号是x.y.z,z代表的一般是Maintenance Version或Patch Version,这种版本升级主要修复bug,不改动API,也不涉及新的功能,y代表的是Minor Version,这种版本升级主要是增加新的功能和新的API,x代表的是Major Version,往往会新增全新的功能,甚至改动API。那么CDH5到CDH6就是一次Major Version的升级,新增了很多功能,API的更改有可能导致你旧有的程序的不兼容而需要修改或者重新开发,但根据软件开发迭代的原则,往往新版本会向下兼容一段时间,你只需要经过严格的测试,在一段时间内应用开发的修改理论不会太大,但还是要结合实际情况,进行严格的测试后再行判断和评估。

CDH5现在依旧是市场上用的最多,推得最广的版本,客户认可度也较高。同时,CDH5经过快5年的迭代也是目前最成熟和稳定的版本,各个组件跟随着社区版的更新迭代,已经把各个组件的bug修复得很完善。另外,无论是国外还是国内支持案例也多,国内可以找到很多相关的实施案例供参考,可以节省运维人力、物力成本。最后CDH5的周边生态圈支持也比较丰富,无论是开源还是商业产品,ETL工具,调度工具,报表工具,BI工具等。你如果现在选择CDH5或者已经在用了,Cloudera也官宣了依旧会再支持三年。

CDH6的更新较大,很多组件也都是大版本更新,引入了很多激动人心的新功能,同时各个组件也修复了大量已知的问题和安全漏洞。比如HDFS的纠删码用于冷数据降低存储成本又保证了数据的可用性,NameNode和YARN的联邦解决大规模集群的性能瓶颈问题,YARN引入GPU支持,未来会引入docker支持等。长远来看,从Hadoop2升级到Hadoop3或者从CDH5升级到CDH6是必须的,因为无论是社区还是Cloudera从现在开始开始都会将开发重心转移到Hadoop3或CDH6上,而CDH5则主要以维护和修复bug为主。

建议:

1.如果你是新搭集群,并且规模不太大(50个节点以内),基于Hadoop的应用也都是新开发,CDH6是一个不错的选择,毕竟避免了以后还要考虑从CDH5升级到CDH6的麻烦,同时还需要进行一次应用测试和迁移。未来迁移到CDH和HDP的合并版本CDP也会更加容易。

2.如果你已经有CDH5集群,作为生产系统各种应用已经稳定运行了较长的时间,如果不是因为功能或性能原因必须要用新版本,现阶段可以暂时不考虑升级,继续观望一段时间。而你一旦决定升级,需要谨慎和细致的对待,包括你要考虑OS,JDK,元数据库等的升级,已有各种应用比如Hive/Impala/Spark SQL,MapReduce/Spark代码,脚本,Python/R算法工程等在CDH6进行测试,同时周边的一些工具对接比如ETL,调度,报表,BI工具等也需要进行对接测试,一切测试通过以后规划好合理的停机时间,然后进行升级。

注:以上总结分析和建议不具备通用性,仅供参考,如果您在选择CDH版本时存在问题,请联系Cloudera销售代表和技术支持结合您的实际情况进行合理的分析和建议。

0593-CDH5与CDH6对比相关推荐

  1. 大数据平台比较-CDH、HDP、CDP

    说到大数据,不得不提一下Hadoop.先来谈一谈 Apache Hadoop与CDH.HDP的比较 一.Hadoop版本综述 不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache( ...

  2. CDH6官方文档中文系列(8)----Cloudera升级指南

    Cloudera升级指南 最近在学习cdh6的官方文档,网上也比较难找到中文的文档. 其实官方英文文档的阅读难度其实并不是很高,所以在这里在学习官方文档的过程中,把它翻译成中文,在翻译的过程中加深学习 ...

  3. Apache Kylin从入门到精通

    Kylin 文章目录 Kylin 一.概述 1.1 Kylin定义 1.2 Kylin架构 1.3 Kylin特点 1.4 Apache Kylin4 概述 为什么选择 Parquet 替换 HBas ...

  4. hadoop2.8 ha 集群搭建

    简介: 最近在看hadoop的一些知识,下面搭建一个ha (高可用)的hadoop完整分布式集群: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop ...

  5. 数据智能构建管理平台Dataphin V2.9.4.3版本发布

    简介:Dataphin发布V2.9.4.3版本升级多项产品能力,该版本在产品功能和用户体验上都进行了优化和提升,旨在为用户提供更完善的产品能力和体验,以加速企业数据中台建设进程. -更多关于数智化转型 ...

  6. 智能数据构建与管理平台Dataphin的前世今生:缘起

    简介:阿里巴巴提出的OneData方法论帮助企业捋清了数据全生命周期的管理思路,更将其植入到产品Dataphin(智能数据构建与管理)中,通过阿里云为企业提供服务. Dataphin 智能数据构建与管 ...

  7. 【阿里云 CDP 公开课】 第二讲:CDH/HDP 何去何从

    简介:Hadoop社区版CDH/HDP已经不再更新,也将终止服务.后续的平台路线图怎么规划?Cloudera CDP整合了CDH和HDP,有哪些性能提升和功能增强?如何平滑的进行迁移?本文结合CDH/ ...

  8. CDH /HDP 何去何从?

    摘要:相信接触过大数据的很多人都可能听说过 CDH 和 HDP 两个平台,本文主要对这两个平台的未来路线做一些分析. Tips:点击「阅读原文」有惊喜! 一.CDH/HDP 平台现状 CDH/HDP ...

  9. cdh 差异_CDH5和6的区别

    发现最近很多人关注CDH版本更新的问题,CDH6更新有一年多的时间了,2019年2月19日,迭代的版本为CDH6.1.1,现在CDH最新的版本已经到CDH6.3.3了.为了方便比较,本文内容主要基于C ...

最新文章

  1. 编译选项_HarmonyOS编译过程
  2. 5G、物联网和AI结合的究极形态是什么?一文看尽智能连接在5大领域的12个典型案例!...
  3. 现代密码学4.1--消息完整性
  4. Golang 1.14 发布 | 云原生生态周报 Vol. 39
  5. 解决Win10不能访问共享文件夹的问题
  6. js 根据条件禁止复选框_element-ui多选框根据不同条件禁用?
  7. 震撼!英伟达用深度学习做图像修复,毫无ps痕迹
  8. Replace Data Value with Object(以对象取代数据值)
  9. js 去除字符串左右两边的空格
  10. js获取数组中的最大值和最小值的方法汇总
  11. TCP/IP,Linux下多进程编程,进程复制函数fork,双返回值函数,通过父进程复制一份代码相同的子进程,父子进程执行顺序由调度算法决定,代码中获取进程执行用户的函数,数据共享状态
  12. python中文分词+词频统计
  13. 部署免安装版MySQL
  14. ffmpeg视频的翻转vflip、hflip,旋转rotate、transpose、
  15. Data truncation: Data too long for column ‘xxx‘
  16. 英语长难句之非谓语动词作状语与独立主格-学习笔记
  17. 一些实用高效的装机软件汇总
  18. Power BI中的填充功能
  19. OpenCV的Mat类型以及基本函数使用
  20. python识别图像中绿色的部分_[OpenCV-Python] OpenCV 中的图像处理 部分 IV (四)

热门文章

  1. android 漂亮的listview
  2. 线扫相机DALSA-行帧触发拍照
  3. 活动目录:域控制器策略大全
  4. 数据结构-树存储结构
  5. 2023最新聚合热搜热榜PHP接口API源码
  6. 极益开源公益平台发布,公益的网站必须酷
  7. 使用EChats制作中国地图,点击省份跳转到相应链接
  8. 计算机二级考试备考access,2017计算机二级考试Access备考习题
  9. mysql 第11章 视图
  10. 程序设计竞赛程序接龙C语言,【e学风】高密校区第四届C语言程序设计竞赛圆满结束...