专栏首页Hadoop实操0484-Cloudera和Hortonworks合并后面临的选择

0484-Cloudera和Hortonworks合并后面临的选择

分析师:Matt Aslett, James Curtis

来源:451 Research

发布日期:2018年12月7日

Cloudera与Hortonworks两家公司在前一段时间提出来合并,虽然两家公司都同时强调两者在产品或者技术上的互补性,但其实合并后的公司也面临一些艰难的选择,可能会对各种与Hadoop相关的开源Apache项目产生较大的影响。本文主要讨论它们接下来可能会如何发展。

1

The 451 Take

Cloudera提议并购Hortonworks预计在2019年的第一季度完成。虽然本报告会提出一些有依据的猜测,但是在合并交易完成之前,它依旧只是猜测。所以现在或者潜在的CDH/HDP客户在做任何与数据平台或者数据处理相关的决策时,最好等待最终的交易完成。

今年10月当Cloudera宣布与Hortonworks达成协议,以21亿美金的股票并购交易价格并购其竞争对手时,我们注意到虽然两家公司可以通过一些不同的开源组件进行产品功能互补以及可能增加的潜在交叉销售机会以外,依旧有很多产品是重叠或相互竞争的,同时两家公司互相拼杀了这么多年,还需要克服长期积累的恩怨情仇。

最大的问题就是两家公司合并后会同时合并Hadoop分发版,并发布统一版本(Unity release),主要针对的是新客户或者现有客户迟早都会升级到的一个版本。两家公司对外正式宣称统一版本会基于最新的HDP3.0+CDH6.0,它们分别于2018年的6月和9月正式GA。

对现有客户来说,好消息是他们不需要马上就做出选择。Cloudera和Hortonworks表示在两家公司合并完成后,现有客户当前使用的产品依旧可以得到三年的支持,对于现有平台依旧会持续迭代更新比如fix bugs。虽然两家公司都希望提供简单的迁移方法(比如从CDH到统一版本,或者从HDP到统一版本),但我们预计即将发布的统一版本与早期的CDH或者HDP版本之间,随着时间的推移,差异会越来越大,尤其是到第三年时。

当然,创建一个新的统一版本同时继续支持现有版本将会需要大量资源,说起来容易做起来难。尤其两家公司不仅在技术组件上竞争,同时因为历史原因商业模式和许可证策略都竞争的情况下。

即便如此,合并小组在合并结束后第一件事就应该是坐下来商量:哪些竞争项目需要长期投资并合并,哪些项目会被放弃。 正如我们已经说过的那样,这个事儿呢知易行难,如果不能好好计划并实施将成为两家公司合并后的主要障碍,同时会浪费大量的研发成本。同时鉴于Cloudera和Hortonworks如今是各种Apache Hadoop相关项目的最大贡献者之一,这些有贡献的技术人员所做的任何决定很可能对开源社区的影响超过两家商业公司合并本身。

Cloudera表示它将尊重Hortonworks对其客户所承诺的100%开源,但这个承诺的界限在哪里还有待观察。当然该承诺对于合并后三种产品(已有的CDH,已有的HDP和合并版本)在规定的支持时间范围内都将适用,但对于合并版本的100%开源承诺到底如何保证还有待澄清。但是,这里应该注意到Cloudera的CDH本身也是一个100%的开源分发版,即使对于CDH企业版有些功能是闭源的。

考虑到这一点,以下我们分三个方面来讨论可能会发生什么。这是基于我们目前评估的两家所支持的开源项目给出的判断,一共分为三种情况,与之相关它们可能会在不同的产品开发团队之间引发相应的一些争论。

2

毫无疑问

对于一些无论是Cloudera还是Hortonworks都打包的较为通用的的组件,基本可以毫无疑问的确定会包含在统一版本中。具体包括核心的Apache Hadoop项目如MapReduce,HDFS和YARN - 以及Apache Spark,Apache Hive,Apache HBase,Apache Kafka,Apache Solr,Apache Oozie,Apache Pig,Apache Sqoop和Apache Zookeeper。

我们对新兴的对象存储项目Apache Hadoop Ozone的信心略有不足,原计划它会在Hadoop3.2中发布。与Hortonworks很积极的支持该项目相反的是Cloudera相对较为冷淡,Cloudera的联合创始人兼CSO Mike Olson今年早些时候公开表示,以客户的选择为基本准则,他们一直在考察一些开源的对象存储项目。虽然最初的合并版本如果包含Ozone可能为时尚早,但我们怀疑它将被纳入长期计划。

还应该指出的是,在早期的公开合并通告中,基于两家公司已经提供的方案中有很多关于云部署方式的讨论。因此,我们相信Kubernetes将成为未来云部署选项的关键项目。

3

存疑的

有一些开源项目目前仅包含在CDH或HDP中,而Cloudera也没有与之专门对标的产品,它们是否能包含在合并版中目前还存疑。比如说Apache Kudu和Apache Impala,这2个最初都是由Cloudera开发的,用于提供列式数据存储和ad hoc的分析,而最近Hortonworks引入了Apache Druid与之对应。

另一个有争议的领域是安全,Hortonworks开发的Apache Ranger与Apache Sentry是重叠的,后者是Cloudera发起的基于角色的授权项目。Sentry还可以在外围安全方面发挥作用,Hortonworks为此开发了Apache Knox。虽然Cloudera可以选择慢慢的来合并这些项目或者直接抛弃某一些项目,但是都需要确保统一版本能提供与现有CDH和HDP发行版相同的兼容性,这里具体如何选择是需要非常谨慎的。

值得注意的是,虽然Cloudera对统一版本发布的计划没有多说,但该公司向SEC提交的文件描述了第一个Unity 1.0版本主要是向新客户服务,第二个计划的Unity 2.0版本作为“功能超集”可以同时让CDH或者HDP用户选择自行升级。因此,我们认为,至少最初,所有这些项目都将包括在内,但有些项目可能随着时间的推移会被废弃掉。

4

有争议的

有一些开源项目目前仅包含在CDH或HDP中,而Cloudera提供另外一些工具与之对标,它们很可能在统一版本中如何取舍成为有争议的一部分。比如,Apache Ambari直接与Cloudera Manager竞争,再比如Cloudera使用Cloudera Navigator来实现数据治理和数据溯源,而Hortonworks则使用Apache Atlas。

考虑到Apache Ambari,Atlas和Ranger之间的相互依赖性,以及提供HDP和统一版本之间兼容性的需求,我们再次怀疑它们将全部包含在统一版本中 - 至少在最初阶段。这些举措长期来看则取决于“新Cloudera”在开源和闭源之间划分的界限。在宣布拟购买Hortonworks时,该公司暗示专有功能将主要通过云服务提供。

此外,由于合并后的公司仍将继续雇佣这些Apache项目的大多数开发人员,但对于这些人的开发可能会产生较大的影响。因此,Cloudera很可能会保留这些开源项目,同时提供完善的差异化功能,以吸引客户使用其云服务。

有些人会认为Hortonworks员工可能在文化上反对这种做法,因为该公司一直宣称的是100%开源。但其实Hortonworks已经这么玩过了,比如他们最近将Apache Falcon数据管理框架替换为Data Lifecycle Manager,这个玩意是作为DataPlane云服务提供的。

Cloudera将清楚地意识到任何关于它想要扼杀开源功能的建议都将被认为是“大棒”,而不是“胡萝卜”,它将不会被Hortonworks客户和Apache软件基金会开发社区所接受。这是我们认为Cloudera如果想要退出开源需要很谨慎的考虑的另一个原因 - 至少在短期内如此。

注:“Carrot and stick”(胡萝卜加大棒)

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 0802-Cloudera Data Center7.1.3正式GA

    CDP Data Center是CDP(Cloudera Data Platform)的on-premise版本。这个新产品结合了Cloudera EDH和HD...

    Fayson
  • Cloudera Enterprise 6正式发布

    2.针对CDH各个组件以及Cloudera Manager本身的自动化的TLS设置安装。

    Fayson
  • Cloudera Enterprise 6 Beta发布

    Fayson
  • Cloudera Enterprise 6.0发布【集成Hadoop3.0】

    问题导读 1.cloudera集成了哪些新的组件? 2.Cloudera Manager可以管理多少节点? 3.升级版本有哪些条件? 看到同行Fayson文章...

    用户1410343
  • 机器学习 | K-Means聚类算法原理及Python实践

    “聚类”(Clustering)试图将数据集中的样本划分为若干个不相交的子集,每个子集被称为一个“簇”或者“类”,英文名为Cluster。比如鸢尾花数据集(Ir...

    PP鲁
  • OpenStack查看网络服务状态

    [root@controller ~]# systemctl status neutron-server.service neutron-linuxbridge...

    院长技术
  • python文件操作二

    结果: 我是最帮的!! 学习文件写入操作我是最帮的!! 学习文件写入操作,加油!!!

    py3study
  • 不是吧,阿Sir,MySQL约束你竟然还不懂!

    符号规定:下面展示一些定义的时候,为简便理解,使用中文配合符号表述(会有具体举例,不用担心理解不了)

    BWH_Steven
  • Azkaban-3.x 页面操作手册

    登录到Azkaban后,将看到Project页面。 此页面将显示当前用户拥有读取权限的所有项目的列表。如果用户所在的组对某个项目具有READ或ADMIN权限,而...

    CoderJed
  • 【AIDL专栏】梅涛:深度视觉理解(附PPT)

    “人工智能前沿讲习班”(AIDL)由中国人工智能学会主办,旨在短时间内集中学习某一领域的基础理论、最新进展和落地方向,并促进产、学、研相关从业人员的相互交流。对...

    马上科普尚尚

扫码关注云+社区

领取腾讯云代金券