JindoFSx存储加速系统提供了透明缓存的使用方式,兼容原生OSS/OSS-HDFS存储方式,文件以对象的形式存储在OSS/OSS-HDFS上,每个文件根据实际访问情况会在本地进行缓存,提升访问OSS/OSS-HDFS的效率,同时兼容了原有OSS/OSS-HDFS文件形式,数据访问上能够与其他OSS/OSS-HDFS客户端完全兼容,作业访问OSS/OSS-HDFS的方式无需做任何修改。
前提条件
已在E-MapReduce上创建EMR-3.42.0及后续版本、EMR-5.6.0及后续版本的集群,且选择JINDODATA服务,详情请参见创建集群。
使用限制
仅EMR-3.42.0及后续版本、EMR-5.6.0及后续版本集群支持该功能。
操作流程
本文以EMR-3.42.0版本为例介绍。
步骤一:配置AccessKey
进入JindoData服务的common页签。
登录EMR on ECS。
在顶部菜单栏处,根据实际情况选择地域和资源组。
在集群管理页面,单击目标集群操作列的集群服务。
单击JindoData服务区域的配置。
单击common页签。
新增配置。
单击新增配置项。
在新增配置项对话框中,新增以下配置项。
新增配置项的具体操作,请参见添加配置项。全局方式和按照Bucket方式配置任选其中一种即可。
全局方式配置(所有Bucket使用同一种方式)
Key
描述
jindofsx.oss.accessKeyId
OSS/OSS-HDFS的AccessKey ID。
jindofsx.oss.accessKeySecret
OSS/OSS-HDFS的AccessKey Secret。
jindofsx.oss.endpoint
OSS/OSS-HDFS的Endpoint。例如:
OSS: oss-cn-***-internal.aliyuncs.com
OSS-HDFS: cn-***.oss-dls.aliyuncs.com
按照Bucket配置
Key
描述
jindofsx.oss.bucket.XXX.accessKeyId
XXX
的Bucket的AccessKey ID。jindofsx.oss.bucket.XXX.accessKeySecret
XXX
的Bucket的AccessKey Secret。jindofsx.oss.bucket.XXX.endpoint
XXX
的Bucket的Endpoint。例如:OSS: oss-cn-***-internal.aliyuncs.com
OSS-HDFS: cn-***.oss-dls.aliyuncs.com
说明XXX
为OSS Bucket的名称。
单击确定。
重启服务。
在JindoData服务页面,选择右上角的 。
在弹出的对话框中,输入执行原因,其他参数保持默认,单击确定。
在确认对话框中,单击确定。
步骤二:配置JindoSDK
进入配置页面。
登录EMR on ECS。
在顶部菜单栏处,根据实际情况选择地域和资源组。
在集群管理页面,单击目标集群右侧操作列的集群服务。
单击Hadoop-Common服务区域的配置。
单击core-site.xml页签。
修改以下配置。
修改配置项的具体操作,请参见修改配置项。
内容
是否必填
参数
描述
配置OSS实现类
是
fs.AbstractFileSystem.oss.impl
固定值为com.aliyun.jindodata.oss.OSS。
fs.oss.impl
固定值为com.aliyun.jindodata.oss.JindoOssFileSystem。
配置xengine类型
是
fs.xengine
固定值为jindofsx。
配置JindoFSx Namespace服务地址
是
fs.jindofsx.namespace.rpc.address
格式为${headerhost}:8101。例如:master-1-1:8101。
说明如果使用高可用NameSpace,配置详情请参见高可用JindoFSx Namespace配置和使用。
启用缓存加速功能
说明启用缓存会利用本地磁盘对访问的热数据块进行缓存,默认状态为禁用,即可以直接访问OSS上的数据。
是
fs.jindofsx.data.cache.enable
数据缓存开关:
false(默认值):禁用数据缓存。
true:启用数据缓存。
配置AccessKey
是
fs.oss.accessKeyId
OSS/OSS-HDFS的AccessKey ID。
fs.oss.accessKeySecret
OSS/OSS-HDFS的AccessKey Secret。
fs.oss.endpoint
OSS/OSS-HDFS的Endpoint。例如:
OSS: oss-cn-***-internal.aliyuncs.com
OSS-HDFS: cn-***.oss-dls.aliyuncs.com
其他可选参数(选填):
内容
参数
描述
元缓存加速功能(可选)
fs.jindofsx.meta.cache.enable
元数据缓存开关:
false(默认值):禁用元数据缓存。
true:启用元数据缓存。
小文件缓存加速功能(可选)
fs.jindofsx.slice.cache.enable
小文件缓存优化开关:
false(默认值):禁用小文件缓存。
true:启用小文件缓存。
短路读功能(可选)
fs.jindofsx.short.circuit.enable
短路读开关:
true(默认值):打开短路读开关。
false:关闭短路读开关。
保存配置。
单击页面左下角的保存。
在弹出的对话框中,输入执行原因,单击保存。
步骤三:磁盘空间水位控制
缓存启用后,JindoFSx服务会自动管理本地缓存备份,通过水位清理本地缓存,请您根据需求配置一定的比例用于缓存。JindoFSx后端基于OSS/OSS-HDFS,可以提供海量的存储,但是本地盘的容量是有限的,因此JindoFSx会自动淘汰本地较冷的数据备份。您可以通过修改storage.watermark.high.ratio和storage.watermark.low.ratio两个参数来调节本地存储的使用容量,取值范围为0~1,表示使用磁盘空间的比例。
修改磁盘水位配置。
在JindoData服务的配置页签内的storage页签,修改以下参数。
参数
描述
storage.watermark.low.ratio
表示使用量的下水位比例,触发清理后会自动清理冷数据,将缓存数据目录占用空间清理到下水位。默认值:0.2。
storage.watermark.high.ratio
表示磁盘使用量的上水位比例,每块数据盘的缓存数据目录占用的磁盘空间到达上水位即会触发清理。默认值:0.4。如果需要比较高的磁盘利用率可以设置较大值。
说明修改该参数时,下水位比例必须小于上水位比例,设置合理的值即可。
保存配置。
单击下方的保存。
在弹出的对话框中,输入执行原因,单击确定。
重启服务。
在JindoData服务页面,选择右上角的 。
在弹出的对话框中,输入执行原因,其他参数保持默认,单击确定。
在确认对话框中,单击确定。