CDH用户及开发者应当关注的CDP组件变化

Wesley13
• 阅读 694

在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年的学习做好准备。


CDP、CDH、HDP中都包含的部分

  • Apache Hadoop(HDFS/YARN/MR)

  • Apache HBase

  • Apache Hive

  • Apache Oozie

  • Apache Spark

  • Apache Sqoop

  • Apache Zookeeper

  • Apache Parquet

  • Apache Phoenix(*CDH中需要额外安装)

基本上只是版本做了一定的升级。如果你之前是使用CDH的用户,那么其中值得一提的是Hive的版本在CDP中使用的是3.1.2,对比CDH6来说是很大的升级(CDH6中Hive为2.1.1)。之前Cloudera在组件的选择上是比较保守的,对比之下Hortonworks的策略会比较激进(HDP已经上了Hive3),会更贴近社区最新的版本。

Hive 3的几个重要新特性:

  • 默认执行引擎变更为TEZ

  • 默认开启ACID支持,用于支持事务

  • LLAP支持,用于支持秒级、毫秒级的实时查询

  • 客户端方面彻底废弃掉了Hive CLI,这也意味着beeline成为唯一选择


CDH中存在,CDP还在准备中的部分

  • Apache Accumulo

  • Navigator Encrypt

  • Key HSM

实际实施中这些用的都不多,而且迟早会加入到CDP中,不需要太过关注


CDP、CDH中都包含的部分

  • Apache Avro

  • Cloudera Manager

  • Hue

  • Apache Impala

  • Key Trustee Server

  • Apache Kudu

  • Apache Solr

  • Apache Kafka(*CDH中需要额外安装)


HDP中存在,CDP还在准备中的部分

  • Apache Druid

  • Apache Knox

  • Apache Livy

  • Ranger KMS

  • Apache Zeppelin

其中最需要关注的就是Apache Druid。Apache Druid是一款实时大数据分析引擎,注意它与阿里巴巴出品的一款数据库连接池Druid恰好重名,但实际是两款不同的软件,两者之间并没有什么关系。

Apache Druid能快速地对海量数据进行实时存储和多维度实时分析。在快速查询、水平扩展、实时数据摄入和分析这三方面都有良好的支持。本质上来说就是一款时序数据库,能很方便的对时间驱动型的数据进行快速的分析查询。

需要注意的是为了达到高性能,Druid牺牲了很多方面的特性,例如并不支持完整的SQL语义特性(只提供有限制的join支持)。所以Druid并非是Hive或者Impala的替代品,它们之间是一种相互增强的关系,例如以下场景:选用Hive或Impala用于构建离线数据仓库或数据集市,然后在这个基础上,将需要进行多维分析查询的数据放入Druid进行加工,来给多维分析类系统提供数据接口。


CDP、HDP中都包含的部分

  • Apache Atlas

  • Apache Ranger

  • Apache ORC

  • Apache Tez

在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作为引擎)。现在合并后并不存在这个商业策略考量的问题了。


CDP全新加入的部分

  • Apache Ozone(技术预览版)

Ozone是一个可伸缩的、冗余的、分布式的Hadoop对象存储。

基于Apache Spark、YARN和Hive等框架的应用程序无需任何修改就可以直接在Ozone上工作。

Ozone建立在具有高可用性的复制块存储层上,这个存储层被称为Hadoop Distributed Data Store(HDDS)

简单来说,Ozone就是为了解决HDFS现存的受到NameNode严重制约的超大规模的扩展能力问题以及存储小文件的问题而设计的,Ozone被设计成支持数百亿(在未来甚至更多)的文件和块。

目前Ozone还处于技术预览版阶段,如果有时间做一些基本了解即可,目前还不会有用于实际生产环境的可能性。

本文分享自微信公众号 - 咕噜咕噜大数据(gulugulu_bigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这