不收费的 Hadoop 版本主要有三个(均是国外厂商),分别是:
Apache(最原始的版本,所有发行版均基于这个版本进行改进)
Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称CDH)
Hortonworks版本(Hortonworks Data Platform,简称HDP)
对于国内而言,绝大多数选择 CDH 版本,CDH 和 Apache 版本主要区别如下:
1.Apache社区版
优点:
缺点:
2.第三方发行版(CDH)
优点:
缺点:
当我们选择是否采用某个软件用于开源环境时,通常需要考虑:
Cloudera 于 2018年8月30日正式发布 CDH6.0.0,至 2019年2月19日,迭代版本为 CDH6.1.1,现在 CDH 最新的版本已经到 CDH6.3.3了。
CDH6 是基于 Hadoop3 同时包含大量其他组件的大版本更新的发布版本,许多用户考虑到未来 CDH 的版本主要是基于 CDH6,而 CDH5 会慢慢的停止更新,所以考虑新搭集群使用CDH6,或者想把已有的CDH5集群升级到CDH6。
第一个问题就是需要考虑 CDH5 和 CDH6 的差别,通过分析一些差异看能否将已有的应用迁移或者直接部署到 CDH6,兼容性稳定性是否存在问题等。
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 也官宣了依旧会再支持截止到2022年。
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工具等也需要进行对接测试,一切测试通过以后规划好合理的停机时间,然后进行升级。
有的 CDH5 版本已经停止支持了。
停止支持的意思是不再更新和修复bug,厂商不再向这个版本的用户提供技术支持。CDH5 到今年年底全部停止支持。
在 Cloudera 和 Hortonworks 合并后,Cloudera 公司推出了新一代的数据平台产品 CDP Data Center(以下简称为CDP),在2019年11月30日已经正式GA(即正式发布的版本)
CDP 的版本号延续了之前 CDH 的版本号,从 7.0 开始,目前最新的版本号为 7.0.3.0。
那么 CDP 对比之前的 Cloudera Enterprise Data Hub(CDH企业版)与 HDP Enterprise Plus(HDP企业版)到底在组件上发生了哪些变化呢?
由于 HDP 在国内市场上的市场占有量很小,大部分公司都是采用 CDH,所以对于 HDP 带来的一些东西,使用 CDH 的用户和开发人员会比较陌生,下面带大家详细的了解一下 CDP 中的组件一些变化,也方便大家为在以后的学习做好准备。
基本上只是版本做了一定的升级。如果你之前是使用CDH的用户,那么其中值得一提的是Hive的版本在CDP中使用的是3.1.2,对比CDH6来说是很大的升级(CDH6中Hive为2.1.1)。
之前 Cloudera 在组件的选择上是比较保守的,对比之下 Hortonworks 的策略会比较激进(HDP已经上了Hive3),会更贴近社区最新的版本。
Hive 3 的几个重要新特性:
实际实施中这些用的都不多,而且迟早会加入到 CDP 中,不需要太过关注
其中最需要关注的就是 Apache Druid。Apache Druid 是一款实时大数据分析引擎,注意它与阿里巴巴出品的一款数据库连接池Druid恰好重名,但实际是两款不同的软件,两者之间并没有什么关系。
Apache Druid 能快速地对海量数据进行实时存储和多维度实时分析。在快速查询、水平扩展、实时数据摄入和分析这三方面都有良好的支持。本质上来说就是一款时序数据库,能很方便的对时间驱动型的数据进行快速的分析查询。
需要注意的是为了达到高性能,Druid 牺牲了很多方面的特性,例如并不支持完整的SQL语义特性(只提供有限制的join支持)。所以Druid 并非是 Hive 或者 Impala 的替代品,它们之间是一种相互增强的关系,
例如选用Hive或Impala用于构建离线数据仓库或数据集市,然后在这个基础上,将需要进行多维分析查询的数据放入Druid 进行加工,来给多维分析类系统提供数据接口。
在 CDP 中,有两个之前 CDH 的组件被去除,一个是 Apache Sentry,用于安全授权;一个是 Cloudera Navigator,用于元数据管理与审计。
被去除的原因在于在 CDP 中它们的功能已经被其他组件所替代,CDP 将会使用以 Ranger+Knox+Atlas 为中心的安全授权与审计方案。对于使用 CDH 的用户来说,这部分的变化是最大的。
目前 CDH 6.3 的EoS Date(支持结束日期)为2022年3月,接下来两年内基于 CDH6 的实施项目仍然是主流选择,基于 Sentry 的方案仍然会在日常的项目实施中使用到。所以如果你对 Hadoop 安全体系这块不熟悉,也不能说就干脆跳过Sentry不学了。而且可预见的是将来肯定会有关于现有的CDH集群升级时,涉及到权限迁移这一块的问题,所以Sentry和Ranger两者都需要了解。
而 Apache ORC 虽然之前在CDH中其实一直能够使用,但Impala本身对ORC格式的支持非常差,在CDH中无论是在Impala还是Hive中使用ORC格式,都一直没有受到CDH的支持和推荐(CDH都推荐使用Parquet格式)。其实这本身有点商业策略考量的意味:在未合并前,社区中Parquet项目由Cloudera主导,而ORC项目由Hortonworks主导。其实这两种格式在整个Hadoop生态圈中都有着广泛的应用,合并之后CDP中自然是两者都需要提供官方支持了。
Tez 也基本上处于同样的理由(商业策略考量),所以之前 CDH 中的 Hive 一直是无法直接使用 Tez 的(选项页面直接选择的话,只能选择MR和Spark作为引擎)。现在合并后并不存在这个商业策略考量的问题了。
基于Apache Spark、YARN 和 Hive 等框架的应用程序无需任何修改就可以直接在Ozone上工作
Ozone 建立在具有高可用性的复制块存储层上,这个存储层被称为Hadoop Distributed Data Store(HDDS)
简单来说,Ozone 就是为了解决 HDFS 现存的受到 NameNode 严重制约的超大规模的扩展能力问题以及存储小文件的问题而设计的,Ozone 被设计成支持数百亿(在未来甚至更多)的文件和块。
目前 Ozone 还处于技术预览版阶段,如果有时间做一些基本了解即可,目前还不会有用于实际生产环境的可能性。
CDP7 是 Cloudera 和 Hortonworks 两大 hadoop 服务商合并后推出的统一版本
CDP7 相比于 CDH6 整体停下来就是想告诉我们一句话 "上云!"
官方一直在围绕"云" 大谈特谈,支持公有云,私有云,本地部署方式。
CDP 将不再开源,CDP7 以后就没有社区版
原文:https://www.cnblogs.com/binbingg/p/14917836.html