数据湖技术圈
本期导读 :【JindoFS 缓存加速】第十二讲
主题:Spark 访问 OSS 透明缓存加速
讲师:辰山,阿里巴巴计算平台事业部 EMR 技术专家
内容框架:
JindoFS 缓存模式简介
Spark 访问 OSS 的缓存加速
缓存效果
实操演示
直播回看链接:(12讲)
https://developer.aliyun.com/live/246923
1
JindoFS 缓存模式简介
JindoFS 缓存模式架构图:
架构介绍:
Jindo Namespace Service:JindoFS 元数据管理以及 Storage 服务的管理
Jindo Storage Service:用户数据的管理包含本地数据的管理和 OSS 上数据的管理
Jindo SDK 客户端:所有上层计算引擎通过 JindoFS SDK 提供的客户端访问 JindoFS 文件系统,从而实现对后端存储实现缓存加速
2
Spark 访问 OSS 的缓存加速
部署缓存服务
下载最新Release包b2smartdata-x.x.x.tar.gz,解压并部署到集群所有节点上
修改配置文件 conf/bigboot.cfg
修改 sbin/nodes,配置所有 storage service 的节点列表
启动所有服务 ./sbin/start-service.sh
参考网址:
https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindofs_cache_mode_deploy.md
部署 Jindo SDK
安装jar包:下载最新的jar包jindofs-sdk-x.x.x.jar,将sdk包安装到Spark的classpath下。
cpjindofs-sdk-${version}.jar $SPARK_HOME/jars/
配置 JindoFS 实现类:将JindoFS 实现类配置到 Hadoop 的 core-site.xml 中
配置 OSS Access Key
将 OSS 的 Access Key、Access Key Secret、Endpoint 等预先配置在 Hadoop 的core-site.xml 中。
配置客户端连接缓存服务
客户端通过环境变量 B2SDK_CONF_DIR 定位并加载配置文件 bigboot.cfg
设置环境变量指定配置目录
export B2SDK_CONF_DIR= /path/to/sdk/conf
在配置目录下添加 bigboot.cfg 配置文件
•client.storage.rpc.port = 6101
•client.namespace.rpc.address = :8101
•jfs.cache.data-cache.enable = true
完成以上配置之后,启动的 Spark 任务即可访问 OSS
任务读取 OSS上 的数据后,会自动缓存到 JindoFS 缓存系统中,后续访问相同的数据就能够命中缓存
3
缓存效果
缓存性能对比:
基于 TPC-DS 对缓存模式进行性能测评;
选择8个具有 IO 相对较高的 SQL 查询进行测试,
结果如下:
图解:
蓝色为启用缓存执行时间;橙色为关闭缓存,用纯粹 SDK 方式访问 OSS 所用时间
可见执行时间得到近50%的提升,性能提升效果明显
详见:《JindoFS 缓存系统(Cache 模式)性能比较》
参考网址:
https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/comparisons/jindofs_cache_vs_no_cache.md
4
实操演示
点击文章下方阅读原文,直接观看第12讲视频回放,获取讲师实例讲解~
⭐Github链接:
https://github.com/aliyun/alibabacloud-jindofs
不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题,欢迎扫码加入钉钉交流群!