本期导读 :【JindoFS 缓存加速】第十五讲
主题:云上计算云下数据:HDFS 缓存加速
讲师:抚月,阿里巴巴计算平台事业部 开源大数据平台 技术专家
内容框架:
- 背景介绍
- 功能介绍
- 使用方法
- 实操演示
直播回放链接:(15讲)
https://developer.aliyun.com/live/246996
一、背景介绍
问题和挑战:
传统的大数据服务,通常是自己部署一套 Hive、Spark、HDFS 在线下的 IDC 机房。随着云计算越来越成熟,带来弹性扩容 运维方便 节省成本等诸多优点,越来越多企业开始将大数据平台搬到云上。首先他们会将 Hive、Spark 等计算服务搬到云上,在云上执行计算。云下 IDC 的 HDFS 集群存在历史数据;有些客户存在敏感数据,倾向于继续保留于云下;或者因历史原因保留在其他云厂商上,而 HDFS 集群数据搬到云上需要时间,这时候就会涉及到跨机房/跨云访问 HDFS 数据。
云上访问云下 HDFS 数据存在以下问题:
- 集群之间存在网络延时和带宽限制
- 作业突发流量 核心集群磁盘/网络被打满
为解决以上问题,必须引入 HDFS 缓存加速。
二、功能介绍
在计算集群上部署一套 jindofs,jindofs 具有分布式缓存的能力:
- 利用计算集群闲置资源(云盘/本地盘/内存)进行数据缓存,加速计算
- 进行流量控制,避免计算集群占用核心集群过多带宽
JindoFS 缓存模式架构图:
架构介绍:
- Jindo Namespace Service:JindoFS 元数据管理以及 Storage 服务的管理
- Jindo Storage Service:用户数据的管理包含本地数据的管理和 OSS 上数据的管理
- Jindo SDK 客户端:所有上层计算引擎通过 JindoFS SDK 提供的客户端访问 JindoFS 文件系统,从而实现对后端存储实现缓存加速
计算服务通过 Jindo SDK 访问数据,Jindo SDK 从 Jindo Namespace Service 查询缓存位置信息,然后向集群中的 Jindo Storage Service 读取缓存数据,如果命中缓存直接返回;如果没有命中缓存,则从 OSS 读取数据,并将缓存写入 Jindo Storage Service,供下次使用。
三、使用方法
部署缓存服务
- 下载最新 Release包 b2smartdata-x.x.x.tar.gz,解压并部署到集群所有节点上
- 修改配置文件 conf/bigboot.cfg
- 修改 sbin/nodes,配置所有 storageservice 的节点列表
- 启动所有服务 ./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,在所有 Hadoop 节点安装。
cp ./jindofs-sdk-*.jar <HADOOP_HOME>/share/hadoop/hdfs/lib/jindofs-sdk.jar
- 将 namespace 地址配置到 Hadoop 的 core-site.xml 中。
通过 JindoFS 加速访问 HDFS
我们通过jfs://<namespace>/ 路径访问, 跟直接访问远端HDFS路径得到一样的数 据,并且获得了加速效果。
四、实操演示
相关资源:
- JindoFS SDK
https://github.com/aliyun/alibabacloud- jindofs/blob/master/docs/jindofs_sdk_download.md
https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindofs_cache_mode_deploy.md
⭐点击回放链接,直接观看第15讲视频回放,获取讲师实例讲解:
https://developer.aliyun.com/live/246996
⭐Github链接:
https://github.com/aliyun/alibabacloud-jindofs
不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题,欢迎扫码加入钉钉交流群!