すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:RootPolicy を使用した OSS-HDFS へのアクセス

最終更新日:Jul 05, 2025

OSS-HDFS は RootPolicy をサポートしています。 RootPolicy を使用して、OSS-HDFS のカスタムプレフィックスを構成できます。 これにより、元のアクセス プレフィックス hdfs:// を変更せずに、ジョブを OSS-HDFS で実行できます。

前提条件

手順

  1. 環境変数を構成します。

    1. ECS インスタンスに接続します。 詳細については、「ECS インスタンスに接続する」をご参照ください。

    2. インストールされている JindoSDK JAR パッケージの bin ディレクトリに移動します。

      cd jindosdk-x.x.x/bin/
      説明

      x.x.x は、JindoSDK JAR パッケージのバージョン番号を示します。

    3. jindosdk.cfg という名前の構成ファイルを作成し、次のパラメータを構成ファイルに追加します。

      [common] 次のデフォルト構成を保持します。
      logger.dir = /tmp/jindo/
      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 へのアクセスに使用する AccessKey ID と AccessKey シークレットを構成します。 -->
      fs.oss.accessKeyId = yourAccessKeyId    
      fs.oss.accessKeySecret = yourAccessKeySecret                                        
    4. 環境変数を構成します。

      export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>

      <JINDOSDK_CONF_DIR> を jindosdk.cfg 構成ファイルの絶対パスに設定します。

  2. RootPolicy を構成します。

    バケットのカスタムプレフィックスを含む登録済みアドレスを指定するには、次の SetRootPolicy コマンドを実行します:

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

    次の表は、SetRootPolicy コマンドのパラメータについて説明しています。

    パラメータ

    説明

    bucket_name

    OSS-HDFS が有効になっているバケットの名前。

    dls_endpoint

    OSS-HDFS が有効になっているバケットが存在するリージョンのエンドポイント。 例: cn-hangzhou.oss-dls.aliyuncs.com

    RootPolicy を実行するたびに SetRootPolicy コマンドに <dls_endpoint> パラメータを繰り返し追加したくない場合は、次のいずれかの方法を使用して、Hadoop の core-site.xml ファイルに構成項目を追加できます。

    • 方法 1:

      <configuration>
          <property>
              <name>fs.oss.endpoint</name>
              <value><dls_endpoint></value>
          </property>
      </configuration>
    • 方法 2:

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

    your_ns_name

    OSS-HDFS へのアクセスに使用するカスタム nsname。 test などの空でない文字列がサポートされています。 現在のバージョンでは、ルート ディレクトリのみがサポートされています。

  3. アクセス ポリシーの検出アドレスとスキーム実装クラスを構成します。

    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>

    複数のバケットに対してアクセス ポリシーの検出アドレスとスキーム実装クラスを構成する場合は、バケットをコンマ (,) で区切ります。

  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 を他の目的で使用します。

    • バケットに指定されたカスタム プレフィックスを含むすべての登録済みアドレスを一覧表示する

      次の listAccessPolicies コマンドを実行して、バケットに指定されたカスタムプレフィックスを含むすべての登録済みアドレスを一覧表示します:

      jindo admin -listAccessPolicies oss://<bucket_name>.<dls_endpoint>/
    • バケットに指定されたカスタム プレフィックスを含むすべての登録済みアドレスを削除する:

      次の unsetRootPolicy コマンドを実行して、バケットに指定されたカスタムプレフィックスを含むすべての登録済みアドレスを削除します。

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

関連情報

RootPolicy コマンドの詳細については、「Jindo CLI ユーザー ガイド」をご参照ください。