JindoFSx P2P分布式下载配置指南

更新时间:
复制 MD 格式

JindoFSx客户端P2P可以被视作一种本地缓存(LocalCache)。与原有的LocalCache相比,P2P缓存中的本地数据块会优先从其他持有该数据的客户端拉取,只有无法向其他客户端请求时,才会从STS或远端读取。本文为您介绍P2P分布式下载缓存的使用方法。

前提条件

已在E-MapReduce上创建EMR-3.42.0及后续版本、EMR-5.6.0及后续版本的集群,且选择JINDODATA服务,详情请参见创建集群

操作流程

说明

本文以EMR-3.42.0版本为例介绍。

  1. 步骤一:配置服务端

  2. 步骤二:配置JindoSDK

  3. 步骤三:使用方法

步骤一:配置服务端

  1. 进入JindoData服务的common页签。

    1. 登录E-MapReduce控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. 集群管理页面,单击目标集群操作列的集群服务

    4. 单击JindoData服务区域的配置

    5. 单击common页签。

  2. 新增配置。

    1. 单击新增配置项

    2. 新增配置项对话框中,新增以下配置项。

      新增配置项的具体操作,请参见添加配置项

      配置项

      参数

      描述

      服务端配置

      jindofsx.p2p.tracker.thread.number

      P2P协调节点的处理线程数。通常设置为1,如果客户端数量超过1000可以考虑更大的值。小于1则关闭P2P功能。

      jindofsx.p2p.file.prefix

      使用P2P下载的前缀列表。当包含多个文件路径时,使用半角逗号(,)隔开,文件路径只有匹配到其中任一个前缀,才会以P2P方式下载。在应用层使用统一挂载路径进行下载时,此处仍应配置为真实的对象路径。 例如,oss://bucket1/data-dir1/,oss://bucket2/data-dir2/

      客户端配置

      fs.jindofsx.p2p.cache.capacity.limit

      P2P下载在客户端侧占用的内存缓存大小限制,单位为字节,默认为5 GB,最小值为1 GB。

      fs.jindofsx.p2p.download.parallelism.per.file

      P2P下载单个文件使用的并发数。例如,取值为5。

      fs.jindofsx.p2p.download.thread.pool.size

      P2P下载使用的线程池总大小。例如,取值为5。

    3. 单击确定

    4. 在弹出的对话框中,输入执行原因,单击确定

  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

    配置xengine类型

    fs.xengine

    固定值为jindofsx

    配置JindoFSx Namespace服务地址

    fs.jindofsx.namespace.rpc.address

    格式为${headerhost}:8101。例如,master-1-1:8101。

    说明 如果使用高可用NameSpace,配置详情请参见高可用JindoFSx Namespace配置和使用

    启用缓存加速功能

    说明

    启用缓存会利用本地磁盘对访问的热数据块进行缓存,默认状态为禁用,即可以直接访问OSS/OSS-HDFS上的数据。

    fs.jindofsx.data.cache.enable

    数据缓存开关:

    • false(默认值):禁用数据缓存。

    • true:启用数据缓存。

  3. 保存配置。

    1. 单击服务配置区域的保存

    2. 确认修改对话框中,输入执行原因,开启自动更新配置,单击确定

步骤三:使用方法

按上述步骤配置之后,根据jindofsx.p2p.file.prefix配置项,所有匹配的读请求都会进入P2P功能,无需调用额外的接口。例如,使用Hadoop shell命令将文件下载到本地,如果文件的路径符合前缀匹配,则会自动启用P2P下载模式。

如果您希望进一步验证对某个特定文件的读请求是否使用了P2P功能,您可以考虑查询日志进行验证。如果您的程序在客户端打印过INFO级别的日志,那么P2P读将产生下列字样的记录:

P2P record for path:

如果您找到了这样的记录,就可以确定对该文件的读请求使用了P2P功能。