写点什么

性能突破:MRS2.0 即将上线,组件全线升级

  • 2020-03-25
  • 本文字数:2435 字

    阅读完需:约 8 分钟

性能突破:MRS2.0即将上线,组件全线升级

紧跟大数据前沿,尝鲜 MapReduce 2.0 版本—增加了诸多新特性、功能进行了完善与升级、作业效率与易用性大大提升,下面就由小编给大家详细介绍下 MapReduce2.0 的新特性。


一. MRS 2.0 vs 1.X ——Hadoop 篇

  • 冷数据占存储空间更小

  • 对于冷数据的存储,我们一直希望能够减少其所占存储空间。纠删码作为给 HDFS 拓展的新特性,是一种与副本相比更节省存储空间的数据持久化方法。比如 Reed-Solomon(10,4)标准编码技术只需要 1.4 倍的空间开销,而标准的 HDFS 副本技术则需要 3 倍的空间开销。

  • 新机制实现 Yarn 的高扩展

  • 新引入 Yarn federation 机制:将一个超大的集群分解成多个子集群的方式来实现 Yarn 的高扩展性,每个子集群有自己的 ResourceManager 和 NodeManager,Yarn federation 将这些子集群拼接在一起使他们成为一个大集群。在 Yarn federation 环境中,Application 看到的是一个超大的集群,并且能够在整个集群的任何节点执行 Task。

  • 支持自定义资源模型

  • 从 MRS2.0 开始,Yarn 支持自定义资源模型(support user-defined countable resource types),不仅仅支持 CPU 和内存,比如集群管理员可以自定义诸如 GPU,软件许可证等等资源,Yarn 任务可以根据这些资源的可用性进行调度。


除此之外,华为云 MRS 服务 2.0 全面兼容 Hadoop 3 版本,提供了 DataNode 节点内多磁盘均衡工具,来处理添加或替换磁盘时可能导致的 DataNode 内部多块磁盘存储的数据不均衡的问题。Hadoop 3 同时支持 opportunistic containers,主要目的是提升集群资源的利用率,提高任务吞吐量。

二. MRS 2.0 vs 1.X ——Hive 篇

  • 新执行引擎,性能吊打 MR

  • Tez 是一个现代的支持有向无环图的分布式计算框架,性能吊打 MR。提供的 UI 界面功能强大,又让人耳目一新。



  • HiveWebUI 使运维更加简单

  • HiveServer 如今提供的 web 界面,可以方便查看正在运行的 SQL 有哪些,执行了多长时间等,可以说是运维同学的一大福音。

  • 提供了 HPLSQL

  • 从此 Hive 有了存储过程。从传统数据仓库,ORACLE 等关系数据库迁移过来更方便啦。一个简单的例子:


CREATE FUNCTION hello(text STRING)

RETURNS STRING

BEGIN

RETURN 'Hello, ’ || text || ‘!’;

END;

FOR item IN (

SELECT s1,s2 FROM test limit 10

)

LOOP

PRINT item.s1 || ‘|’ || item.s2 || ‘|’ || hello(item.s1);

END LOOP;


新版本的 Hive 还充分利用现代 CPU 提供的 SIMD,AVX2 等指令集,来提高 CPU 利用效率。例外,CBO 这种基于代价的查询优化,对于多表 join 性能优化效果显著。使用新版本后,根据不同场景,Hive 的性能提升了不止 50%呢。

三. MRS 2.0 vs 1.X ——Spark 篇

  • 真正毫秒级低延迟处理

  • 无论是最早的 Spark Streaming,还是 Spark 2.0 中推出的 Structured Streaming,均采用定时触发,生成微批的方式实现流式处理,微批处理的方式存在最小延迟的极限(100 毫秒左右)。Structured Streaming 新加入的 Continuous Processing 模式,可以实现毫秒级的低延迟处理(实测 3-5 毫秒左右)。

  • 支持流和流的 join 操作

  • Structured Streaming 用来替代原先的 Spark Streaming。此前,Structured Streaming 仅支持流和静态数据集之间的 join 操作,Spark 2.3 提供了期待已久的流和流的 join 操作,支持内连接和外连接,可用在大量的实时场景中。例如比较常见的点击日志流的 join 操作。

  • PySpark 性能优化

  • 基于 Apache Arrow 和 Pandas 库,实现了 pandas_udf。利用 pandas 对数据进行矢量化的优化,并通过 Arrow 降低 Python 与 Spark 的通信开销。使用 pandas_udf 替代 pyspark 中原来的 udf 对数据进行处理,可以减少 60%-90%的处理时长(受具体操作影响)。

  • MLLib 优化提升

  • 在 Spark 2.3 中带来了许多 MLLib 方面的提升,例如,支持 Structured Streaming 中使用 MLLib 的模型和 pipeline;支持创建图像数据的 DataFrame;使用 Python 编写自定义机器学习算法的 API 简化等。

四. MRS 2.0 vs 1.X ——HBase 篇

  • HBase on OBS: 数据与 MRS 集群解耦

  • MRS 2.0 上的 HBase 2.x 支持对接对象存储服务(OBS),可以将最终的数据存储到 OBS,适用于需要大量数据进行归档存储的场景,数据与 MRS 集群解耦,灵活切换。

  • 新的多租户方案

  • RegionServer Group 作为新的多租户方案,可以将多个 RegionServer 进行分组,组成不同的 RGS。不同的表可以分布在不同的 RGS 中,不同 RGS 中的表不会互相受到影响,以这种从 RegionSever 中物理隔离的方式,从而实现多租户的方案。

  • 优化 region 状态转换

  • AssignmentManager V2 基于 Procedure V2 实现,能够更快速的分配 Region,维护的 region 状态机存储不再依赖于 ZooKeeper,移除了 region 在 zookeeper 中的状态信息,只在 HMaster 的内存和 Meta 表中维护 region 状态,极大的解决了 region 状态转换过程中引起的问题。

  • 优化 HFile 实现方式

  • MemStore 中的数据达到一定大小以后,先 Flush 到内存中的一个不可改写的 Segment,内存中的多个 Segments 可以预先合并,达到一定的大小以后,才 Flush 成 HDFS 中的 HFile 文件,这样做能够有效降低 Compaction 所带来的写 IO 放大问题。


此外,HBASE 2.x 更改了数据的读写方式,会直接在二级缓存中进行读写,采用堆外内存 Offheap 替代之前的堆内内存,减少对 Heap 内存的使用,有效减少 GC 压力。HBase2.x 开始默认使用 NettyRpcServer 替代 HBase 原生的 RPC server,大大提升了 HBaseRPC 的吞吐能力,降低了延迟。


MRS2.0 新增了这么多特性,进一步实现了完整统一的计算系统,为大家提供 7*24 小时不间断服务的系统级平台。同时具有强大的包容的生态圈,并支持计算存储分离的功能,大家从各个平台迁移过来都非常方便。开源中的所有新特性,都可以来 MRS 2.0 上抢先一步体验到。


MRS 2.0 2019 年 1 月 31 日前登录华为云,在这之前可先行体验 MRS 大数据场景,包含车联网、气象、水务、游戏等热门行业场景。可视、可触、已落地的大数据,来试试就知道了!

MRS 体验馆入口


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/JNTDAigB5p94bDeiUNGE0A


2020-03-25 16:32987

评论

发布
暂无评论
发现更多内容

【堡垒机】2022年云堡垒机品牌排名大比拼!

行云管家

云计算 网络安全 堡垒机 企业安全

云原生技术赋能ISV实现应用现代化

York

云原生

创新的力量天翼云推动科技创新技术实践落地

天翼云开发者社区

【C语言】猜数字小游戏

謓泽

3月月更

VuePress 博客之 SEO 优化(二)重定向

冴羽

Vue 前端 vuepress SEO 重定向

微服务中台技术之视频处理

小江

架构 ffmpeg 视频处理 电商系统

加密市场普跌 虎符交易所平台币HOO却能连续2个月逆势上涨

区块链前沿News

Hoo 虎符交易所 平台币

web前端培训Node.js和JavaScript的关系

@零度

JavaScript node.js 前端开发

从“半部电台”到“云监工” 天翼云助力红色电信启航新征程

天翼云开发者社区

云管平台提供的功能一般包括哪些?采购需求主要是什么?

行云管家

云计算 企业上云 云管平台 云管理

Rust基本概念

Shine

读书笔记 rust

昇腾CANN论文上榜CVPR,全景图像生成算法交互性再增强!

Geek_32c4d0

昇腾

在页面中直接嵌入vue-sfc的方法

CRMEB

观点丨新经济 DTC 转型,一个简单而强大的数据平台至关重要

PingCAP

Java培训JVM 高频面试题

@零度

JVM JAVA开发

AI+生物计算:用计算机视觉技术理解细胞生命

百度大脑

源码详解数据结构Linked List

华为云开发者联盟

Java ArrayList 框架 linkedlist 双向链表

全运会开幕!天翼云全力打造“智慧赛事”

天翼云开发者社区

对话|鲜丰水果:“看不见”的门店数字化

阿里云云效

云计算 阿里云 云原生 持续交付 数字化运维

沈阳飞桨领航团Meetup邀请你来,探索AI如何赋能智慧城市

百度大脑

测试在项目流程中的那些事儿

有道技术团队

液冷数据中心如何构建,蓝海大脑液冷技术保驾护航

GPU算力

液冷服务器

4个迭代,从批量交付到持续交付转型

阿里云云效

云计算 阿里云 云原生 研发团队 研发

OpenVSCode云端IDE加入Rainbond一体化开发体系

北京好雨科技有限公司

天翼云中南数字产业园落地长沙“天心数谷”初具雏形

天翼云开发者社区

2. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml

MASA技术团队

图数据库实操:用 Nebula Graph 破解成语版 Wordle 谜底

NebulaGraph

数据库 开源 图数据库 分布式图数据库

为什么要进行企业知识管理,这三个重点问题要明确

小炮

微博评论高性能高可用计算架构

李大虾

#架构实战营 「架构实战营」

它来了,它来了!开源圈 KOL 的江湖对谈第二季要来了!

OpenTEKr

开源 程序员人生 开源社区 开源软件 优秀开源项目

缓存最关心的问题是什么

华为云开发者联盟

Java 缓存 堆内存 缓存命中率 回收策略

性能突破:MRS2.0即将上线,组件全线升级_数据库_华为云产品与解决方案_InfoQ精选文章