本期导读 :【阿里云 CDP 公开课】第二讲
主题:CDH/HDP 何去何从
讲师:王雪峰,Cloudera 生态资深解决方案工程师
内容框架:
- CDH/HDP 平台现状
- 为什么选择 CDP
- 怎么到达 CDP
- CDP 测试验证和使用
直播回放链接:(第2讲)
https://developer.aliyun.com/live/247950
一、CDH/HDP 平台现状
CDH/HDP 产品公司合并
CDH/HDP 这两个产品比他们的公司在市场上更加广为流传。大部分用户可能只知道 CDH 或者 HDP,而不知道 Cloudera 或者 Hortonworks,实际上 CDH 是 Cloudera 公司的代表产品,HDP 是 Hortonworks 公司的代表产品。两家公司都是围绕着大数据平台去做发行版,他们在2019年1月进行了合并,形成了新的 Cloudera 公司。
合并之后,两家公司的能力也做了一些整合。首先两家公司的平台能力都是围绕着中间的数据工程和数据仓库的,他们都具有大数据平台的存储和计算能力。如上图,绿色的 IoT 互联网是 Hortonworks 另外一款产品提供的能力,主要做实时数据的采集和处理分析。蓝色的是 Cloudera 的另一个产品 CDSW 提供的,来帮助加速机器学习、数据科学的一些应用。这几款产品都可以部署在企业的客户边缘计算、私有云、公有云和混合云上。
两家公司在合并之后,首先把这4个产品进行打通,客户可以根据自己的生态选择从边缘计算到人工智能的处理流程。两家公司合并完成之后,紧接着就进行了产品整合,为什么?
在两家公司合并前,Cloudera 当时有两个主推的大数据平台产品:CDH5 和 CDH6。Hortonworks 有两个主推的平台产品:HDP2 和 HDP3。这两家公司的产品分别对应 Hadoop2 和 Hadoop3 的发行版,合并成新的 Cloudera 之后,一家公司维护4个同质性的平台产品负荷是比较重的,再加上外部技术的发展变化(云计算、计算和存储分离、容器和K8S等),Cloudera 最终选择进行平台整合,形成新的产品 CDP。
CDH/HDP 的产品生命周期
CDP 的全称是 Cloudera Data Platform。Cloudera 公司的 CDP 推出之后,首先支持了 CDH5 和 HDP2 两个平台的直接升级。随着技术的发展,今年也支持了 CDH6 和 HDP3 的直接升级。在 CDP 推出之后,HDP 和 CDH 两个平台都可以迁移升级到 CDP 平台上,两个产品也在逐渐退出市场,产品进入了 EOS 阶段,其中 CDH5 和 HDP2 在2020年12月底已经不再进行售后支持,CDH6 和 HDP3 也分别在2021年底和2022年3月结束它的支持生命周期。
两家公司合并推出 CDP 之后,CDH 和 HDP 产品已经不再增加新的功能,仅是一些维护式的更新,使得已有用户没办法在老的 CDH/HDP 平台上继续获取新的功能和性能提升。
这一张图是 Cloudera 官网给出的 Cloudera 支持的产品生命周期,主要列出了 CDH 和 HDP。其中 Cloudera Enterprise 对应的是 CDH 企业版。可以看到 Cloudera 最新的产品 CDH6 系列和 HDP3 系列,分别在今年年底和明年3月份全部 EOS。老产品CDH5和HDP2也在2020年12月EoS了,不再进行支持。
Cloudera 产品许可证变化
Cloudera 在两家公司合并完之后,将产品许可证也做了一些调整,使得它更加类似于成熟的 Red Hat 的开源模型。
首先,所有的产品源都是符合 OSI 批准的许可证,包括 Apache 的开源许可和 AGPL 的许可证。其次,从2019年11月 Cloudera 再发布的所有产品不再提供社区版,只有企业版,用户需要订阅才能正常使用 Cloudera 发布的产品。但它还是会提供试用版,60天的试用期,使得用户可以做功能的验证和尝试。
从今年1月份开始,Cloudera 还把以前对外公开的 CDH/HDP 所有版本都拿到了 Paywall,使得用户都需要订阅 Cloudera 产品,获取到对应的授权才能下载。
对大家来说,这听起来是一个坏消息,其实也不尽然。为什么那?接下来我们讲来分析一下国内大数据生态的供应商情况。
国内大数据生态挑战
大家对 Hadoop 已经比较熟悉了,大家可以到 Hadoop 官网随便下载和使用,在我们的传统思维中,门槛很低,基本上是免费。但大家只考虑了软件获取成本,而忽略了软件使用成本和后续的运营成本。
据信通院在2019年6月数据整理,当时国内有39家基于 Hadoop 的平台供应商,这些供应商里面有70%多是基于 Cloudera 的 CDH 和 HDP 的社区版封装成产品来提供给用户的,有24%是基于 Apache 封装,还有一家自研的产品。大部分供应商基本都是在 CDH/HDP 社区版进一步封装,同时替换掉 CDH/HDP 的 Logo,就发布出来自己的版本。这种行为对用户和这些供应商有什么挑战?Cloudera 的许可证模式变更之后,再把 CDH/HDP 的 logo 替换掉,是商业盗版行为,面临商业合规的风险。
那么,直接使用Apache的版本进行封装是否可以?可以,但可能存在如下风险:
风险1,在于国内大部分供应商没有足够的 Apache 的 PMC 和 Committer 资源,导致出现问题之后不能够快速定位问题,只能依靠自己的经验去猜,或到社区上去获取对应的支持,这必然没办法满足企业对应用 SLA 的需求。
风险2,这些供应商没有足够的 Hadoop 平台开发的资源,也就没有足够的能力和权限进行 Apache 社区的代码修复。为了维护产品,就会出现产品分支,供应商需要维护多个不同的版本,容易造成维护混乱和功能不一致。使用这样的产品,使得大部分非互联网企业需要享受互联网企业的试错待遇,而同时又没有办法满足他们的 SLA,导致他们没有办法去上A类应用来满足它的使用需求。
同时随着国家对安全漏洞的安全要求增强,大部分企业没有办法跟踪和解决 CVE 相关的安全审计,因为这些厂商不了解第三方库如何引用,不知道下一代产品如何更新。特别重要的是,金融业客户没有办法面对“护网”的工作需求。
我们时不时会接触到护网行动,在护网行动中会扫描出一大堆安全漏洞。而这些安全漏洞是需要对应厂商来提供解决方案的,不了解CVE的厂家是没有办法对此提供支持的。最近爆发的 Log4J 的 CVE-2021-44228 对于这类供应商就是一个巨大的挑战。
把整个中国大数据生态分析下来,我们会发现,Hadoop 使用的门槛很低,但是我们没办法真正把它运用到生产上,因为国内的厂商,没有办法去提供足够的支撑该平台可以运行在生产上。可是,Hadoop 平台作为比 RDBMS 更新的一代平台,能够解决我们很多问题,这时候我们要怎么办?是不是就放弃?答案是:否。
我们还有 Global 公司可以来提供支持,例如 Cloudera 就可以提供这种专业的平台服务支持。Cloudera 的 CDP 里面涉及39+个 Apache 的开源组件,拥有超过30个组件的控制权,使得 Cloudera 可以修改里面的一些安全漏洞 CVE 和 bug,也可以增加新功能和性能增强等等。对于其他组件,也有 PMC 和 Committer 来保证代码修复的权利。
第二,我们可以决定未来产品发展的路线。我们会根据社区的反馈,和对新产品新功能研究创新,来决定对哪一些组件进行引入,对哪些组件选择废弃。
第三,Cloudera 因为有足够的 PMC 和 Committer,可以自行决定第三方库的引用和替换,使得用户可以放心地使用。当然这只是产品平台的一个能力,只有这些还不够。
此外,它还有完善的400售后支持体系,Cloudera 在中国有30多人的中文售后支持团队,可以支持整个中国甚至包括部分东南亚的售后。同时 Cloudera 在全球有10来个售后支持中心可以提供7×24小时售后服务。
对于企业来讲,要把关键的应用上到生产里,也需要完善的安全解决方案。Cloudera为此提供了业界最完整最成熟的安全解决方案,来帮助用户满足安全合规需求。
自研用户的压力
大数据平台除了向第三方厂商购买之外,还可以进行自研。那么自研的成本或者价值估算怎么样,我们这里用一张图表来进行说明。
自研的话,需要30到50人来完成整个平台的构建、组件的升级、安全的实施以及平台使用的支持。目前国内有这种能力的工程师成本需要人民币30~50万元左右/人/年,每年会需要200~400万美金的人工成本,这对于大部分企业来说还是比较高的。
如果使用 Cloudera 订阅,费用会是怎么样?
假设我们使用50个节点的列表价来计算,差不多是一年50万美元左右。在这每年50万美元的订阅费用里面我们能获取到什么?第一个是产品的使用支持,Cloudera 有庞大的工程师团队和 Apache 的 PMC、Committer 能够支持企业产品的创新和更新;同时还有300多个技术支持专家可以提供7×24小时售后支持,有专业的知识库帮助我们快速解决问题,还提供了知识库等其他增值服务。这对于大部分厂商来说这是一个成本更低、风险更小的解决方案,同时让员工主要做业务应用,可以创造更大的业务价值。
二、为什么选择 CDP
什么是 CDP?
相对于 CDH/HDP,CDP 有什么改进
CDP 是原先两个最好的企业级数据分析平台 CDH 和 HDP 融合在一起,同时增加一些新的功能,形成的一个新平台。这个平台有40多个组件,是可以提供更多功能的企业级分析平台。
这个平台集合了 CDH 和 HDP 的精华来创建,把一些过时的技术淘汰掉,再融合新的技术,把双方差异性的技术保留下来,同时升级共享一些技术得到最新版本。
整个CDP平台主要有两块功能。
第一块是通过 Cloudera Manager 负责整个平台的运营和管理工作,上图中间这部分是 CDP 的主要功能,是 CDP 平台具有的功能和能力。最下面支持各种各样的存储,HDFS、Ozone、kudu、云对象存储等。它还有数据移动功能,任务编排和用户接口的功能、有运营数据库、数据仓库的能力,搜索、安全和治理的能力,同时还有数据的加密和密钥管理的功能。Cloudera 还有的其他应用,比如 CDSW 或 Cloudera Data Flow,也可以被 Cloudera manage 来管理和支持,来满足企业更广泛的应用和使用能力。
对于已有的 CDH 用户,他们会获得哪些能力?我们从整个大方向来讲,它在授权和策略管理上面做得更好,支持行过滤和动态列掩码,支持 SparkSQL 细粒度的访问控制,提供跨生态的授权和策略管理。
在数据治理上,它采用了 Atlas,可以更好地管理元数据、数据血缘和监管链,同时支持业务数据等等应用。在实时数据上,对 Kafka 做了很多增强,支持连接不同存储的 Kafka connect,支持 Kafka 集群的管理和数据复制,以及集群的运维。在运营数据库上支持了完整的 ACID SQL 标准,支持二级索引,支持星型 Schema 等等。
在数据仓库上,把 Hive 引擎用 Hive-on-Tez 替代来提供更好的ETL性能,同时支持 ACID 事务支持 ANSI 2016 SQL 标准,也做了很多性能的优化。
在存储上,通过 Ozone 可以提供 HDFS 30倍的扩展性,对 S3 原生远程支持,同时可以和 Kafka、Nifi 集成。
在安全上,提供了基于 Knox 的网关 SSO,同时支持密钥管理等等。
对于 HDP用户来说,也获取了大量的新功能。包括管理支持了计算和存储分离的体系架构,支持自动传输加密以及针对管理员的细粒度 RBAC。
- 搜索上,提供了非结构化数据的搜索,比如文本图像等等。
- 数据仓库上,引入了 Impala 来提供交互式 BI 查询的使用场景。
- 编辑控制器上,通过内置 SQL 编辑器来自动完成智能查询使用。
- 存储上,引入了 Kudu 和 Ozone,Kudu 可以支持快速变化的数据的快速更新,以及更好的交互式查询。
- 加密上,引入了自动传输加密以及 Ranger KMS 等能力。
前面简单说了一下 CDP 平台相对于 CDH/HDP 平台增加的功能, CDP 平台更多的价值,可以用这一张图表来表示。
它提供了更高的分析性能,相对于以前的 CDH/HDP 平台产品,它通过集成最新版的 Impala、Hive 和 Spark,可以带给用户两倍的分析性能提升。同时通过 Cloudera Manager 的集群管理,来提供增强的集群管理和资源调度,减少了20%的资源使用。
通过在 CDP 平台引入 Ozone 对象存储和 HDFS 纠删码,可以提供5倍的存储密度,使得用户的存储更具有成本效益。对于安全合规比较敏感的用户,CDP 把已知的 CVE 都解决了。在最新的 CDP7.1.7里,有个用户前一段时间刚进行了安全漏洞的扫描,没有在 CDP 平台上发现任何 CVE。发现的CVE基本上都是在上下游上面,该产品更符合用户对安全合规的诉求。
最后一点是数据的安全治理,在 CDP 中通过引入新的 SDX 控制,包括默认拒绝、最低权限,策略标签、可扩展审计、一致执行等等,使得用户减少50%的工作量,来缓解监管合规性,大幅度降低任务、重载。
Cloudera 提供的安全解决方案是业界最完整最成熟的,它主要由4部分组成。第一块是用户的访问边界,通过认证、网络隔离、用户组映射等技术来决定用户是否能够访问平台,进到集群访问之后的用户可以根据他拥有的权限去访问数据和应用,这主要是涉及到权限和授权相关的技术。当然,企业里面的数据要有可视性和可见性,需要知道数据从哪里来到哪里去,需要知道谁访问了什么,这就是审计和血缘相关的概念。还有一块就是数据的保护,防止不该访问的人访问,这里对应的是数据加密、数据标签、数据掩码等技术概念。
通过这样4个模块,Cloudera 提供了业界最完整最成熟的安全解决方案,使得企业可以更合规地去使用数据。
为什么选择基于阿里云部署的 CDP
今年 Cloudera 已经和阿里云两家公司强强合作,推出了基于阿里云部署的 CDP 平台。这个平台除了具有 CDP 平台的所有优势之外,还增加了阿里云公有云相关的一些优势。
首先是产品核心方面。第一,阿里云提供的 CDP 版本,是包含完整的CDP能力的 。第二,它基于多种规格,使得用户可以选择不同的套餐去构建使用。第三,Cloudera CDP 平台和阿里云平台产品集成互通,用户可以在阿里云上直接一起使用阿里云其他的产品,同时它还提供了开箱即用的安全平台,可以降低它的使用复杂度,也降低了运维成本。
其次是产品引擎与服务方面。第一,百分百兼容开源的 Hadoop,同时又通过两家公司的联合调优,使性能最优。第二,它能提供给客户7×24小时的专家支持服务和专业保障,使用户可以轻松地对已有的 CDH/HDP 这些平台来进行迁移,进行版本升级,参数调优等工作。
基于阿里云部署的 CDP 平台的整体架构是这样的——底层平台会使用阿里云的云盘、基于大数据的本地存储、数据湖等数据存储方式,计算层通过阿里云的 ECS 来扩展。在这之上,它通过 SDX 来管理所有数据的状态,通过 Cloudera Manager 来管理整个平台,在上面提供基于数仓、数据湖、数据工程、流计算、运营数据库等业务场景的能力。
客户会问,我为什么要选择基于阿里云部署的 CDP平台?从成本上来讲,用户是有一定的成本支出,20%的成本增加带来下列收益:
第一,用户可以使用最新版的CDP平台,这个平台可以提供给用户更多的开源组件,更高的版本,更稳定可靠的软件版本支持,同时覆盖客户从边缘计算到人工智能的数据分析的应用场景。
第二,这个平台可以提供给用户企业级的服务支持,包括大数据专家服务,开箱即用的使用来降低运维成本。
第三,这个平台可以提供更完整更成熟的安全治理管理方案,满足企业的安全合规诉求。
同时,稳定可靠的产品,还大大降低了运维的复杂度和成本,使得企业可以聚焦到业务应用,增强企业的业务领先性。
三、怎样到达 CDP
到达 CDP 有哪些路径
到达CDP主要有两种方式,一种是原地升级,一种是迁移升级。
如何选择使用自己的升级路径
原地升级就是在原有的集群上直接做升级,优点是不需要额外的硬件资源,缺点是升级过程中停机时间可能会比较长,有时候会影响客户的 SLA。 第二原地升级所有的应用都要去验证,相对来讲比较复杂。哪一类客户比较适合这种方式呢?一是没有富余的主机资源,二是平台上面的租户比较少,可以接受较长时间的服务停机时间。
迁移升级是新搭建一个集群,然后把业务的老集群数据和应用分别拷贝到新集群上,最后把应用切换到新集群上。迁移升级有什么优点?第一是不会产生数据丢失,不会影响已有的业务,它的服务停机时间较短,只会在两者最终交接的瞬间发生停机,可能导致数据的不一致。缺点是它需要额外的硬件资源,同时需要迁移数据,整体的迁移升级时间周期会比较长。
迁移升级比较适合的用户,一是有丰富富余主机资源,例如阿里云上的用户,通过这些主机资源,可以很容易地去做中间的集群。二是租户多,时间难以协调一致的情况。对于云上的用户或者线下用户计划向云上转换的用户也都比较合适这种用户。
CDH/HDP 目前的版本支持了 CDH 和 HDP 所有版本,他们可以原地升级和迁移升级到CDP平台。如果客户不愿意选择最新版本,就需要看一下对应版本的支持情况。
升级有哪些资源支持
现在在阿里云上推出来的是7.1.7版本,绝大部分用户都可以来迁移和本地升级。那么升级的主要任务是什么?
先说一下原地升级。首先它是集群的本质升级,会把已有的数据和 Schema 一次性升级到新的平台 CDP 上。第二平台上的应用脚本要做一些代码改造,需要在新平台上验证使用确保没问题,然后一起做代码的改造替换,在新平台上运行。原地升级支持 CDH5.1.3以上和 HDP2.6.5 以上的版本。
迁移升级和本地升级一样,也涉及到历史数据、Schema、批量脚本和外部应用四部分。但迁移升级的时候建议按照一个一个应用的方式来分批次进行迁移,而不需要一次性把所有东西都改造完然后一次性都迁移到新平台上,可以按照应用分批进行。同时迁移升级的时候会把数据对应的脚本和外部应用做改造,使得它能够在新平台上使用。
Cloudera 在官网提供了很多升级指南,在一些公众号宣传材料里也有升级材料。它里面有安全安装升级指南、升级的 companion、在线升级指南、迁移工作负载指南等等,同时用户还可以和 Cloudera 的咨询顾问来一起构建升级的规划和实施。
四、基于阿里云部署的 CDP 的测试和使用
如何申请基于阿里云部署的 CDP 测试
在阿里云的官网的路径为:产品->大数据->相关解决方案和生态产品->Cloudera企业数据云,这是Cloudera和阿里云合作平台的入口。
阿里云上的CDP是基于阿里云部署的CDP平台的半托管产品,用户可以在上面管理整个平台运用。
阿里云的 CDP 产品还能提供免费测试和试用。
链接如下:https://survey.aliyun.com/apps/zhiliao/owtTaIQU3
点击之后会跳转到产品免费试用申请,填写对应的信息之后,阿里云的同事会来负责后续的申请审批,审批通过之后就可以获取代金券来进行 CDP产品的试用。
基于阿里云部署的 CDP 开通流程
下面介绍一下阿里云CDP的使用方法。首先打开阿里云官网,按照以下路径:产品-大数据-相关解决方案和生态产品-cloudera企业数据云,点击之后会跳转到Cloudera产品页,这里有产品的试用说明开通。后面需要填写对应的信息来获得试用产品资格,完成之后就可以开通使用它。
测试开通流程演示
在开通试用时,每个企业有一次试用的机会,可以在试用之后再选择购买。购买支付完成以后,就能看到产品的管理页,可以在已购买的产品服务里面找到我们刚购买的产品。
管理页每个产品的右边有一个免登按钮,点击免登就能进入 Cloudera 心选市场管理器,然后进入集群管理来配置整个集群。在集群配置里面,我们可以通过输入一些信息来完成整个集群的环境搭建。例如集群的一些实例名称,集群所在的区域,目前支持了华东、上海、北京、深圳4个区域。
然后配置整个集群的网络环境,包括 VPC、安全组等信息。用户可以选择集成高安全和非安全的集群,根据自己的需求来选择。
接下来部署 Cloudera Manager 管理员的登录账户信息,输入对应的账户和密码登录。然后选择同意产品服务协议,确认创建集群。接下来系统会创建一个硬件的订单,完成支付以后可以看到里面有5台机器,3台数据节点,1台管理节点,1台工具节点。刷新一下就可以看到整个集群的进程,它会自动部署,整个部署大概需要30分钟。大家在部署过程中可以通过查看详情来获取进展,也可以看到整个集群的信息和主机列表等内容。
部署完成以后,登录控制台来进行配置。将7180添加到安全组里面,也可以参考安全组的配置文档来配置。完成之后,点击确认,就可以通过端口登录。
但此时用户还没有配置当前IP的访问,所以用户需要去做一点修改或新加一个安全规则,将7180赋给当前的IP段。我们这里赋给了0.0.0.0,使得所有用户都可以访问。最后刷新7180访问入口,输入 admin 用户和密码来使用集群。
以上就是基于阿里云部署的 CDP 平台的使用说明。大家如果对产品感兴趣,欢迎加入到阿里云 Cloudera 企业数据云交流群。对产品有任何疑问都可以在交流群里咨询。
以下是产品的链接,有需要的用户可以直接点击链接访问和使用产品。
阿里云官网:https://ac.aliyun.com/application/cloudera
或直接访问:https://market.aliyun.com/products/201190008/cmgj00047952.html
免费测试申请:https://survey.aliyun.com/apps/zhiliao/owtTaIQU3