在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企业版)与HDPEnterprise Plus(HDP企业版)到底在组件上发生了哪些变化呢?
由于HDP在国内市场上的市场占有量很小,大部分公司都是采用CDH,所以对于HDP带来的一些东西,使用CDH的用户和开发人员会比较陌生,下面带大家详细的了解一下CDP中的组件一些变化,也方便大家为在2020年的学习做好准备。
基本上只是版本做了一定的升级。如果你之前是使用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作为引擎)。现在合并后并不存在这个商业策略考量的问题了。
Ozone是一个可伸缩的、冗余的、分布式的Hadoop对象存储。
基于Apache Spark、YARN和Hive等框架的应用程序无需任何修改就可以直接在Ozone上工作。
Ozone建立在具有高可用性的复制块存储层上,这个存储层被称为Hadoop Distributed Data Store(HDDS)
简单来说,Ozone就是为了解决HDFS现存的受到NameNode严重制约的超大规模的扩展能力问题以及存储小文件的问题而设计的,Ozone被设计成支持数百亿(在未来甚至更多)的文件和块。
目前Ozone还处于技术预览版阶段,如果有时间做一些基本了解即可,目前还不会有用于实际生产环境的可能性。