这是Hadoop的又一次迁移——但是从人类的角度
这篇博客是冰球突破豪华版官网上次的Hadoop迁移,但从不同的角度, 而不是描述它的技术方面(别担心, 我将更多地关注人类的视角, 冰球突破豪华版官网是如何以及为什么决定从(注意力, 剧透警告!!!)商业到社区的解决方案.
Background
但首先要说明的是,Outbrain是世界领先的内容发现平台. 冰球突破豪华版官网每个月提供超过4000亿份内容推荐, 全世界超过10亿的用户. 为了支持这么大的规模, 冰球突破豪华版官网有一个由数千个微服务构建的后端系统,运行在Kubernetes容器中,分布在3个数据中心和公共云(GCP)中的7000多台物理机器上 & AWS). 为了使冰球突破豪华版官网提供的建议对冰球突破豪华版官网的读者有价值,冰球突破豪华版官网在个性化方面投入了尽可能多的精力. 为了实现这一目标,冰球突破豪华版官网在Hadoop生态系统的后台运行了大量的机器学习算法,这使得它成为冰球突破豪华版官网业务的一个非常关键的系统, 冰球突破豪华版官网有两种Hadoop集群:
- 在线—冰球突破豪华版官网在裸金属机器上运行两个完全容灾模式的集群, 它们用于在线服务活动.
- 研究——冰球突破豪华版官网有几个集群(每组和使用)运行在GCP中, 它们被用于研究和线下活动.
每个集群每天获得超过50TB的新数据,执行的作业超过10K.
触发器
几年前,冰球突破豪华版官网迁移了在线Hadoop集群来使用MapR商业解决方案(您可以在 迁移的大象 博客),它有很多改进,冰球突破豪华版官网享受冰球突破豪华版官网得到的支持. 但几年后, 冰球突破豪华版官网的Hadoop使用量急剧增加,这使冰球突破豪华版官网在支持这个系统方面变得非常专业, 冰球突破豪华版官网提高了冰球突破豪华版官网的知识,冰球突破豪华版官网可以自己处理事情,而不是依赖外部资源来解决问题(这是使用商业解决方案的好处之一). So, 在许可证更新前的几个月,冰球突破豪华版官网想要得到一个决定,那就是冰球突破豪华版官网继续这个系统的最佳方式.
冰球突破豪华版官网知道这需要一些时间,直到冰球突破豪华版官网将在生产中提出新的解决方案, 冰球突破豪华版官网需要确保当前的系统将继续运行,所以冰球突破豪华版官网采取了以下行动,以缓解时间因素:
- MapR也有一个社区版本, 冰球突破豪华版官网绘制了它与商业版本之间的区别, 冰球突破豪华版官网需要解决的主要问题有:
- 无HA解决方案(针对CLDB, 主管理服务)——为此,冰球突破豪华版官网实现了自己的定制解决方案
- 只支持单个NFS端点——冰球突破豪华版官网的一些用例将大量的数据从Hadoop复制到一个独立的DB中,因此冰球突破豪华版官网需要一个可伸缩的解决方案, 冰球突破豪华版官网最终得到了一个内部的FUSE实现
- 因为冰球突破豪华版官网在DR模式中有两个集群, 冰球突破豪华版官网能够测试和运行社区版本与商业版本并行
- 只是为案例, 冰球突破豪华版官网确保冰球突破豪华版官网可以只延长几个月的许可证,而不是3年的承诺
这些行动使冰球突破豪华版官网能够在没有任何压力的情况下做出正确的决定, 冰球突破豪华版官网确保冰球突破豪华版官网将能够使用社区版本运行系统,直到冰球突破豪华版官网有了新的解决方案.
选择
冰球突破豪华版官网想出了这些替代方案:
- 继续使用MapR商业版——冰球突破豪华版官网不想继续使用社区版(没有大的用户采用和支持).
- 迁移到云era商业版本
- Migrate to 云era community version – this option was dropped immediately since the amount of nodes we had (>100) exceeded the limitation of using the community version
- 迁移到Apache Hadoop社区解决方案
- 迁移到谷歌云——就像冰球突破豪华版官网对冰球突破豪华版官网的研究集群所做的一样
以便能够对这些选项进行比较, 冰球突破豪华版官网首先定义了有助于确定所选方案的度量, 冰球突破豪华版官网总结如下表:
还有其他的测量方法,如成本和需要额外的人员, 但它们不是冰球突破豪华版官网做决定的因素.
这个决定
在冰球突破豪华版官网成功地将研究集群迁移到GCP之后(您可以在 Hadoop的研究之旅 博客系列), 冰球突破豪华版官网很多人认为,一旦冰球突破豪华版官网需要迁移在线集群, 它们也将被迁移到GCP. 但就像在现实生活中一样,需要根据每种情况的特点来处理. 我有4个孩子,我希望有一种单一的方式来管理他们, 但现实是,每一种方法都需要不同的方法和态度. 冰球突破豪华版官网的Hadoop集群也是如此, 每个人都有自己的特点,所以每个人都有不同的要求和需求, 它们的用途不同,所以对一方有利的不一定对另一方有利. 由于在线集群的性质(需要大量计算, 更少的存储),冰球突破豪华版官网意识到冰球突破豪华版官网将无法像研究集群那样从云特性(弹性和计算存储分离)中获益.
如前所述,冰球突破豪华版官网需要为冰球突破豪华版官网的在线集群提供另一种解决方案. 根据这个结论,很明显,选择的解决方案将来自裸金属替代品之一. 这让冰球突破豪华版官网不得不在社区版本和商业版本之间做出选择, 冰球突破豪华版官网比较了每种选择的优缺点,但主要的问题是:冰球突破豪华版官网是想花钱购买许可证,还是花钱培训员工,让他们拥有更好的内部技能?
冰球突破豪华版官网发现,冰球突破豪华版官网的专业水平将产生最好的影响, 这将是一个双赢的局面, 冰球突破豪华版官网的用户(工程团队)将得到更好的服务,冰球突破豪华版官网将投资于冰球突破豪华版官网的人员. 根据文章的标题,冰球突破豪华版官网从人类的角度进行了剖析. 话虽如此,很明显,获胜的选择是 Apache Hadoop 社区.
迁移(简而言之)
迁移需要在系统本身继续作为生产系统运行时进行, 这意味着冰球突破豪华版官网需要在用户不受影响的情况下继续向他们提供相同的服务. 因为冰球突破豪华版官网有两组独立的数据中心, 所以冰球突破豪华版官网一次做一个集群, 每一个都以滚动的方式进行, 冰球突破豪华版官网从一个小型Apache集群开始,经过几个周期,冰球突破豪华版官网成功地将工作负载从MapR集群转移到它.
数据迁移
- 新数据——冰球突破豪华版官网开始将新数据吸收到集群中, 它是通过集成Apache集群和冰球突破豪华版官网的数据传输管道来实现的
- 历史数据——大多数工作负载都需要一些历史数据来进行处理, 因为迁移是循环的, 冰球突破豪华版官网只复制每个周期所需的数据
工作负载迁移
冰球突破豪华版官网重复了以下步骤,直到冰球突破豪华版官网成功地迁移了整个工作负载:
- 将部分作业从MapR集群转移到Apache集群
- 停止MapR集群中迁移的任务
- 将机器从MapR移动到Apache集群
执行这些循环的能力要归功于冰球突破豪华版官网所做的映射, 考虑到作业和集群容量之间的依赖关系,冰球突破豪华版官网定义了可以一起移动的作业组. 上一个循环包含了所有相互紧密联系的工作,不可能被分开.
当然还有很多其他的技术细节,但它们是一个单独的博客的主题.
成就
迁移是一个巨大的成功,这是所有相关工程团队的充分合作. 在准备了几个月之后, 在很短的时间内(每个集群大约需要1个月),冰球突破豪华版官网就完成了这个任务.
现在冰球突破豪华版官网可以总结一下冰球突破豪华版官网的成果:
- 人的因素——冰球突破豪华版官网的员工提高了他们的技术技能,在支持Hadoop系统方面变得更加专业
- 冰球突破豪华版官网正在使用开源软件——有很多文章描述了使用开源软件的好处:灵活性和敏捷性, 速度, 成本效益, 吸引更好的人才等.
- 改进了集群性能——使用相同数量的内核(实际上更少), 所有作业完成它们的处理至少快2倍. 例如,在下面的图表中,您可以看到的处理时间 hourlyFactFlowFaliCreationInHiveJob 在Apache vs. MapR


- 清理——作为迁移的准备工作,冰球突破豪华版官网映射了将要迁移的存储和工作负载, 这使冰球突破豪华版官网能够在可能的情况下执行清理
- 存储-冰球突破豪华版官网可以删除更多 700TB 从哪里减少了集群容量 73% to 49%,你可以在下面的图表中看到影响

- 工作负载——冰球突破豪华版官网禁用了超过 800 工作岗位几乎占总数的一半(今天冰球突破豪华版官网有950个工作岗位). 除了, 冰球突破豪华版官网与工作的所有者进行了一些排序,所以冰球突破豪华版官网现在只有16个所有者集团,而不是19个
- 技术债——转向开源软件的优势之一是能够使用所有集成包的最新版本,并且能够集成更多的包, 在使用商业解决方案时,这种能力有时会缺失. 在冰球突破豪华版官网的案例中,冰球突破豪华版官网能够:
- 升级冰球突破豪华版官网的Spark工作(版本2.3)
- 升级冰球突破豪华版官网的SparkStreaming作业(版本2.4)
- Presto作为另一项服务实现,它提供一个高性能查询引擎,可以在一个查询中组合很少的数据源.
跋
将冰球突破豪华版官网的一个关键系统从商业版本迁移到社区版本的决定并不容易做出, 这有一定的风险,但根据博客的标题, 冰球突破豪华版官网是从人类的角度来做的, 当你在人们身上投资的时候,你会得到回报.
做出如此勇敢的决定需要强有力的领导, 从本质上讲,很少有怀疑主义的人害怕改变, 尤其是在如此关键的系统中发生了如此大的变化. 冰球突破豪华版官网需要下定决心,表达对人民和这一进程的信心, 所有人都必须致力于并参与这一决定.
总结一下, 从人类的角度和技术的角度来看,这次迁移都是一次巨大的成功, 这是一个团队的努力,冰球突破豪华版官网都在享受它的结果. 每个Hadoop集群都有不同的解决方案, 就像在现实生活中, 试着遵循个案分析的原则.