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版本为例介绍。
  1. 步骤一:配置AccessKey
  2. 步骤二:配置JindoSDK
  3. 步骤三:磁盘空间水位控制

步骤一:配置AccessKey

  1. 进入JindoData服务的common页签。
    1. 登录EMR on ECS控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 集群管理页面,单击目标集群操作列的集群服务
    4. 单击JindoData服务区域的配置
    5. 单击common页签。
  2. 新增配置。
    1. 单击新增配置项
    2. 新增配置项对话框中,新增以下配置项。

      新增配置项的具体操作,请参见添加配置项。全局方式和按照Bucket方式配置任选其中一种即可。

      • 全局方式配置(所有Bucket使用同一种方式)
        Key描述
        jindofsx.oss.accessKeyIdOSS/OSS-HDFS的AccessKey ID。
        jindofsx.oss.accessKeySecretOSS/OSS-HDFS的AccessKey Secret。
        jindofsx.oss.endpointOSS/OSS-HDFS的Endpoint。例如:
        • OSS: oss-cn-***-internal.aliyuncs.com
        • OSS-HDFS: cn-***.oss-dls.aliyuncs.com
      • 按照Bucket配置
        Key描述
        jindofsx.oss.bucket.XXX.accessKeyIdXXX的Bucket的AccessKey ID。
        jindofsx.oss.bucket.XXX.accessKeySecretXXX的Bucket的AccessKey Secret。
        jindofsx.oss.bucket.XXX.endpointXXX的Bucket的Endpoint。例如:
        • OSS: oss-cn-***-internal.aliyuncs.com
        • OSS-HDFS: cn-***.oss-dls.aliyuncs.com
        说明 XXX为OSS Bucket的名称。
    3. 单击确定
  3. 重启服务。
    1. 在JindoData服务页面,选择右上角的更多操作 > 重启
    2. 在弹出的对话框中,输入执行原因,其他参数保持默认,单击确定
    3. 确认对话框中,单击确定

步骤二:配置JindoSDK

重要 此配置为客户端配置,无需重启JindoData服务。
  1. 进入配置页面。
    1. 登录EMR on ECS控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 集群管理页面,单击目标集群右侧操作列的集群服务
    4. 单击Hadoop-Common服务区域的配置
    5. 单击core-site.xml页签。
  2. 修改以下配置。

    修改配置项的具体操作,请参见修改配置项

    内容是否必填参数描述
    配置OSS实现类fs.AbstractFileSystem.oss.impl固定值为com.aliyun.jindodata.oss.OSS
    fs.oss.impl固定值为com.aliyun.jindodata.oss.JindoOssFileSystem
    配置xenging类型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:启用数据缓存。
    配置AccessKeyfs.oss.accessKeyIdOSS/OSS-HDFS的AccessKey ID。
    fs.oss.accessKeySecretOSS/OSS-HDFS的AccessKey Secret。
    fs.oss.endpointOSS/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:关闭短路读开关。
  3. 保存配置。
    1. 单击页面左下角的保存
    2. 在弹出的对话框中,输入执行原因,打开自动配置更新开关,单击保存

步骤三:磁盘空间水位控制

缓存启用后,JindoFSx服务会自动管理本地缓存备份,通过水位清理本地缓存,请您根据需求配置一定的比例用于缓存。JindoFSx后端基于OSS/OSS-HDFS,可以提供海量的存储,但是本地盘的容量是有限的,因此JindoFSx会自动淘汰本地较冷的数据备份。您可以通过修改storage.watermark.high.ratiostorage.watermark.low.ratio两个参数来调节本地存储的使用容量,取值范围为0~1,表示使用磁盘空间的比例。

  1. 修改磁盘水位配置。
    在JindoData服务的配置页签内的storage页签,修改以下参数。jindodata_radio
    参数描述
    storage.watermark.low.ratio表示使用量的下水位比例,触发清理后会自动清理冷数据,将缓存数据目录占用空间清理到下水位。默认值:0.2。
    storage.watermark.high.ratio表示磁盘使用量的上水位比例,每块数据盘的缓存数据目录占用的磁盘空间到达上水位即会触发清理。默认值:0.4。如果需要比较高的磁盘利用率可以设置较大值。
    说明 修改该参数时,下水位比例必须小于上水位比例,设置合理的值即可。
  2. 保存配置。
    1. 单击下方的保存
    2. 在弹出的对话框中,输入执行原因,单击确定
  3. 重启服务。
    1. 在JindoData服务页面,选择右上角的更多操作 > 重启
    2. 在弹出的对话框中,输入执行原因,其他参数保持默认,单击确定
    3. 确认对话框中,单击确定