软件开发大数据容器

大数据组件容器化如何保证存储同步的可靠性?

假设大数据分析平台涵盖了大数据平台组件,将大数据平台组件容器化,其中涉及到存储服务的容器化。而且大数据组件例如hdfs的3副本,如何保证容器化后存储同步的可靠性,尽可能的满足副本同步的实效性?是否需要借助外部组件来保证,还是仅仅靠平台自身的同步机制?

参与11

2同行回答

zhuqibszhuqibs  软件开发工程师 , Adidas
这个问题真的好难(1)大数据组件很少能够容器化,不说k8s,连docker化也是九牛二虎之力,意义不大;原因   a、大数据应用比较大,曾经搞了一个组件的镜像,个头2个g,但容器适合于放小个头的应用; b、网络复杂,曾经一个Kubernetes中的大数据组件容器要对接spark,对spark网络不通,花了好...显示全部

这个问题真的好难
(1)大数据组件很少能够容器化,不说k8s,连docker化也是九牛二虎之力,意义不大;原因
   a、大数据应用比较大,曾经搞了一个组件的镜像,个头2个g,但容器适合于放小个头的应用;
b、网络复杂,曾经一个Kubernetes中的大数据组件容器要对接spark,对spark网络不通,花了好大力气,才从google查到spark最新版有transfer ip可以设置;

(2)其次,我没有明白,存储为什么要同步,大数据经典的是hdfs,分布式存储,多副本的,那一定是多少副本写入即是成功,比如3副本,有2个写入就算成功,最后1个随便,返回成功后,系统自己可以慢慢去写。 就算这样,效率也是不高的。但是,何来存储同步的可靠性一说?

收起
互联网服务 · 2020-04-01
浏览1651
zhaoxiyizhaoxiyi  资深电信行业解决方案架构师 , 红帽企业级开源解决方案中心
1、通常短期内我们不愿意过多的修改原有 Hadoop 体系,这里面包括了由 HDFS 所实现的多副本保障无需借助容器化来进行提升,Hadoop 体系的运算能力通常就是冗余的,因为批量运算时的性能与日常运维的资源需求差别太大,BigData 本身就是借助硬件成本降低来使用海量硬件承担特定运...显示全部

1、通常短期内我们不愿意过多的修改原有 Hadoop 体系,这里面包括了由 HDFS 所实现的多副本保障无需借助容器化来进行提升,Hadoop 体系的运算能力通常就是冗余的,因为批量运算时的性能与日常运维的资源需求差别太大,BigData 本身就是借助硬件成本降低来使用海量硬件承担特定运算任务的体系。这与容器的充分合理调配硬件资源保障有限资源内更多执行合理任务的思路是相反的等方面的原因。因此通常意义上来讲将原封不动将 Hadoop 完全照搬到容器平台上是没有意义的。但如果未来 Hadoop 体系承担的任务越多,越繁杂,那么它改造的需求就会越大。假设我们容器化了他们大部分的组件,那么参考另一个问题 “ 大数据分析平台容器化后底层存储如何设置? ” 的答案我们可以转化hdfs在容器上的使用形式以适应容器化平台。

2、您提到的hdfs副本在容器化后如果使用其它存储解决方案时,确实会遇到同步的时效性问题。通常软件定义存储,如Ceph的副本数(Ceph采用多副本同步写不会产生写丢失的问题)与副本备份时效性都是可以配置的,但终归有可能会发生终断点于两备份中间的情况。这是任何一种备份机制都无法规避的风险。我们要做的更多是综合考虑PV所在位置与整体数据之间一致性关系的问题,就是多个关联PV之间同步备份的问题,这个需要在实施方案中具体设计。这一部分的能力如 OpenShift 来说,就是 OpenShift + OpenShift Container Storage 共同实现的,因为是配套组件所以也不能算是外部组件但也没法完全算是平台自身保障的,因为Kubernetes 的 PV/PVC 机制是不关注这一部分实现的。

3、但转化hdfs并不是目标,目标是如何将业务目标转向敏态开发与敏态部署上。因此我个人认为如果大数据平台容器化后,那么在容器云平台必然派生出大量的附加结构来,例如通过内存数据网格实现敏态数据湖,利用数据虚拟化实现统一数据视图等等,这些实现都会依赖到 Change Data Capture 这样的同步工具上来,在如何保障数据最终一致性的同时,尽量解放数据在中间使用的能力是我们将大数据平台容器化的核心意义所在。

2、Hadoop 在设计最初是希望能够替代传统 OLAP 实现更高性能的多维运算,而在真实业务场景中,这个目标并没有实现,而是我们新的建立起一套相对独立的数据使用手段。Hadoop 当年的出现时的地位与现阶段 AI/ML 出现的地外何其相似。因此未来,这两者之间一定会首先融合。融合的第一个问题就是,Hadoop 运算的很多能力与 AI/ML 是重叠的。因此慢慢的它从某种意义会变为 AI/ML 的数据供应者。而目前 AI/ML 运算模型的复杂度问题就导致 AI/ML 的供应倾向于容器化供应。

收起
软件开发 · 2020-04-02
浏览1600

提问者

严俊
研发工程师中国移动
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-04-01
  • 关注会员:3 人
  • 问题浏览:3187
  • 最近回答:2020-04-02
  • X社区推广