赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 操作指南
  5. 数据湖管理
  6. OSS-HDFS服务
  7. 访问服务
  8. 通过RootPolicy访问

通过RootPolicy访问

  • 访问服务
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

OSS-HDFS服务支持RootPolicy。您可以通过RootPolicy为OSS-HDFS服务设置自定义前缀,在无需修改原有访问hdfs://前缀作业的基础上,将作业直接运行在OSS-HDFS服务上。

前提条件

  • 已创建Hadoop环境、Hadoop集群或者Hadoop客户端。具体操作,请参见创建Hadoop运行环境。

  • 已开通OSS-HDFS服务。具体操作,请参见开通OSS-HDFS服务。

  • 已配置4.5.0及以上版本JindoSDK 。具体操作,请参见非EMR集群接入OSS-HDFS服务快速入门。

操作步骤

  1. 配置环境变量。

    1. 连接ECS实例。具体操作,请参见连接ECS实例。

    2. 进入已安装的JindoSDK JAR包下的bin目录。

      以下以jindosdk-x.x.x-linux为例,如使用其他版本的JindoSDK,请替换为对应的JAR包名称。

      cd jindosdk-x.x.x-linux/bin/
      说明

      x.x.x表示JindoSDK JAR包版本号。

    3. 授予bin目录下的jindo-util文件的读、写、执行的权限。

      chmod 700 jindo-util
    4. 将jindo-util文件重命名为jindo。

      mv jindo-util jindo
    5. 新建配置文件jindosdk.cfg,然后在配置文件中添加以下配置项。

      [common]保持以下默认配置。
      logger.dir = /tmp/jindo-util/
      logger.sync = false
      logger.consolelogger = false
      logger.level = 0
      logger.verbose = 0
      logger.cleaner.enable = true
      hadoopConf.enable = false
      
      [jindosdk]自定义以下配置项。
      <!-- 以下以杭州地域为例,其他地域请根据实际情况替换。 -->
      fs.oss.endpoint = cn-hangzhou.oss-dls.aliyuncs.com
      <!-- 配置访问OSS-HDFS服务的AccessKeyId、AccessKeySecret。 -->
      fs.oss.accessKeyId = LTAI********    
      fs.oss.accessKeySecret = KZo1********                                       
    6. 设置环境变量。

      export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>

      <JINDOSDK_CONF_DIR>填写jindosdk.cfg 配置文件所在的绝对路径。

  2. 设置RootPolicy。

    您可以通过SetRootPolicy命令为指定Bucket注册自定义前缀访问地址,配置命令如下:

    jindo admin -setRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/

    以上命令涉及的各项参数说明如下:

    参数

    说明

    bucket_name

    填写已开通OSS-HDFS服务的Bucket名称。

    dls_endpoint

    开通OSS-HDFS服务所在地域对应的Endpoint,例如cn-hangzhou.oss-dls.aliyuncs.com。

    如果您不希望在每一次使用RootPolicy相关命令时重复添加<dls_endpoint>选项,您可以选择以下任意方式在Hadoop的core-site.xml文件中添加配置项。

    • 方式一

      <configuration>
          <property>
              <name>fs.oss.endpoint</name>
              <value><dls_endpoint></value>
          </property>
      </configuration>
    • 方式二

      <configuration> 
       <property>
              <name>fs.oss.bucket.<bucket_name>.endpoint</name>
              <value><dls_endpoint></value>
          </property>
      </configuration>

    your_ns_name

    自定义访问OSS-HDFS服务的nsname,支持任意非空字符串,例如test,当前版本仅支持根目录。

  3. 配置Access Policy发现地址和Scheme实现类。

    您需要在Hadoop的core-site.xml文件中完成以下配置项。

    <configuration>
        <property>
            <name>fs.accessPolicies.discovery</name>
            <value>oss://<bucket_name>.<dls_endpoint>/</value>
        </property>
        <property>
            <name>fs.AbstractFileSystem.hdfs.impl</name>
            <value>com.aliyun.jindodata.hdfs.HDFS</value>
        </property>
        <property>
            <name>fs.hdfs.impl</name>
            <value>com.aliyun.jindodata.hdfs.JindoHdfsFileSystem</value>
        </property>
    </configuration>

    如果您需要为多个Bucket配置Access Policy发现地址和Scheme实现类,则多个Bucket之间需使用逗号,分隔。

  4. 验证是否已成功配置RootPolicy。

    hadoop fs -ls hdfs://<your_ns_name>/

    返回以下结果,说明已成功配置RootPolicy。

    drwxr-x--x   - hdfs  hadoop          0 2023-01-05 12:27 hdfs://<your_ns_name>/apps
    drwxrwxrwx   - spark hadoop          0 2023-01-05 12:27 hdfs://<your_ns_name>/spark-history
    drwxrwxrwx   - hdfs  hadoop          0 2023-01-05 12:27 hdfs://<your_ns_name>/tmp
    drwxrwxrwx   - hdfs  hadoop          0 2023-01-05 12:27 hdfs://<your_ns_name>/user
  5. 使用自定义前缀访问OSS-HDFS服务。

    重启Hive、Spark等服务后,您可以通过使用自定义前缀访问OSS-HDFS服务。

  6. (可选)RootPolicy其他用法。

    • 列举指定Bucket当前注册的所有前缀地址

      您可以通过listAccessPolicies命令列举指定Bucket当前注册的所有前缀地址。

      jindo admin -listAccessPolicies oss://<bucket_name>.<dls_endpoint>/
    • 删除指定Bucket当前注册的所有前缀地址

      您可以通过unsetRootPolicy命令删除指定Bucket当前注册的所有前缀地址。

      jindo admin -unsetRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/

相关文档

RootPolicy相关命令的更多信息,请参见Jindo CLI使用指南。

相关文章

通过OSS控制台访问 2025-04-21 18:15

本文介绍如何通过OSS控制台访问OSS-HDFS服务。 前提条件 已开通并授权访问OSS-HDFS服务。具体操作,请参见开通并授权访问OSS-HDFS服务。 操作步骤

通过Hadoop Shell命令访问 2025-04-21 18:15

如果您希望通过命令行的方式在开通OSS-HDFS服务的Bucket中执行上传、下载、删除等相关操作,您可以使用Hadoop Shell的方式。 环境准备 您可

通过Jindo CLI访问 2025-04-21 18:15

如果您希望通过命令行的方式在开通OSS-HDFS服务的Bucket中执行上传、下载、删除等相关操作时,您可以使用Jindo CLI的方式。 环境准备 您可以选择以下任意一种方式访问O

使用JindoFuse挂载访问 2025-04-21 18:15

如果您希望将OSS-HDFS服务映射为本地文件系统,并通过标准文件系统接口(如读、写、删除文件等)访问OSS-HDFS服务中的文件,可以使用JindoFuse挂载访问。JindoFuse是一个开源的、兼容POSIX的分布式文件系统访问工具,使AI应用程序可以直接使用OSS-HDFS服务。 前提条件

通过RootPolicy访问 2025-04-21 18:15

OSS-HDFS服务支持RootPolicy。您可以通过RootPolicy为OSS-HDFS服务设置自定义前缀,在无需修改原有访问hdfs://前缀作业的基础上,将作业直接运行在OSS-HDFS服务上。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号