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

E-MapReduce:JindoCache の透過的キャッシングによる OSS の高速化

最終更新日:Jul 18, 2026

JindoCache は、ご利用のクラスター上にファイルを透過的にキャッシュすることで、Object Storage Service (OSS) へのアクセスを高速化します。

前提条件

  • E-MapReduce (EMR) クラスターを作成し、JindoCache サービスを選択済みである必要があります。詳細については、「クラスターの作成」をご参照ください。

  • Object Storage Service (OSS) を有効化しました。詳細については、「OSS の有効化」をご参照ください。

制限事項

ファイルは OSS 内でオブジェクトとして保存されます。

操作手順

JindoCache は CacheSet を使用してキャッシングポリシーを管理します。異なるパスに対して異なるキャッシングポリシーを定義でき、1 つのクラスターに 1 つ以上の CacheSet を設定できます。

  1. キャッシングポリシーを選択します。

    1. クラスターにログインします。詳細については、「クラスターへのログイン」をご参照ください。

    2. cacheset.xml ファイルを作成します。

      この例では、cacheset.xml ファイルは /path ディレクトリに配置されています。

      <?xml version="1.0" encoding="UTF-8"?>
      <cachesets>
          <cacheset>
              <name>name1</name>
              <path>oss://emr-test/dir1</path>
              <cacheStrategy>DISTRIBUTED</cacheStrategy>
              <metaPolicy>
                  <type>ALWAYS</type>
              </metaPolicy>
              <readPolicy>CACHE_ASIDE</readPolicy>
              <writePolicy>WRITE_AROUND</writePolicy>
          </cacheset>
          <cacheset>
              <name>name2</name>
              <path>oss://emr-test/dir2</path>
              <cacheStrategy>DHT</cacheStrategy>
              <metaPolicy>
                  <type>ONCE</type>
              </metaPolicy>
              <readPolicy>CACHE_ASIDE</readPolicy>
              <writePolicy>WRITE_AROUND</writePolicy>
          </cacheset>
      </cachesets>

      パラメーター

      説明

      name

      CacheSet の名前です。名前は一意である必要があります。重複する名前を指定すると、既存の CacheSet が上書きされます。

      name1

      path

      キャッシングポリシーを適用する親パスです。すべてのサブパスはこの CacheSet のポリシーを継承します。

      oss://emr-test/dir1

      cacheStrategy

      キャッシング戦略です。有効な値は DISTRIBUTED および DHT (分散ハッシュテーブル) です。DHT 戦略は小規模ファイル向けの読み取り専用高速化ポリシーです。

      要件に応じて戦略を選択してください。

      DISTRIBUTED

      metaPolicy

      メタデータキャッシングポリシーです。有効な値は ALWAYS および ONCE です。

      • ALWAYS:メタデータはキャッシュされません。すべてのメタデータ操作はリモートストレージに直接アクセスします。

      • ONCE:メタデータはキャッシュされます。初回のみリモートストレージからメタデータを読み取り、以降の読み取りはローカルキャッシュを使用します。

      要件に応じてポリシーを選択してください。

      説明

      cacheStrategy が DHT に設定されている場合、metaPolicy は ONCE に設定する必要があります。

      ALWAYS

      readPolicy

      ファイルの読み取りポリシーです。CACHE_ASIDE のみサポートされています。このポリシーでは、キャッシュからのデータ読み取りを優先します。

      CACHE_ASIDE

      writePolicy

      ファイルの書き込みポリシーです。以下のポリシーがサポートされています。

      • WRITE_AROUND:データはリモートストレージに直接書き込まれます。

      • CACHE_ONLY:データはステージングエリアに書き込まれます。

        説明

        CACHE_ONLY ポリシーは ONCE ポリシーと併用する必要があります。

      • WRITE_THROUGH:データはキャッシュに書き込まれます。

      WRITE_AROUND

    3. 次のコマンドを実行して、JindoCache システム内の CacheSet 構成をリフレッシュします。

      jindocache -refreshCacheSet -path /path/cacheset.xml

      コマンドが正常に実行されると、Successfully refresh cacheset !!! というメッセージが返されます。JindoCache コマンドの詳細については、「JindoCache CLI 使用方法」をご参照ください。

    4. listCacheSet コマンドを使用して、システム内の CacheSet 情報を確認できます。

      jindocache -listCacheSet
  2. JindoSDK を構成します。

    Hadoop-Common に JindoCache OSS 実装クラスを設定します。EMR コンソールで Hadoop-Common サービスの設定ページに移動し、core-site.xml タブをクリックして、以下のパラメーターを設定します。詳細については、「設定項目の管理」をご参照ください。

    パラメーター

    説明

    fs.xengine

    値は jindocache である必要があります。

    このパラメーターを空のままにすると、クライアントはキャッシュを使用せず、バックエンドと直接通信します。

    説明

    これはクライアント側の設定です。JindoCache サービスを再起動する必要はありません。

    構成が完了すると、OSS にアクセスするタスクは自動的にキャッシングを使用します。JindoCache は透過的にキャッシュするため、タスクの修正は不要です。タスクが OSS からデータを読み取ると、そのデータは JindoCache にキャッシュされます。同じデータの後続の読み取りはキャッシュヒットとなり、読み取りパフォーマンスが向上します。

よくある質問

OSS 認証情報の設定

JindoCache は OSS へのパスワードなしのアクセスをサポートしています。クロスアカウントアクセスを行う場合は、AccessKey ID、AccessKey Secret、エンドポイントを含む認証情報を設定する必要があります。

  1. JindoCache サービスの common タブに移動します。

    1. E-MapReduce コンソール にログインします。

    2. 上部ナビゲーションバーでリージョン およびリソースグループ を選択します。

    3. Clusters ページで対象のクラスターを見つけ、Services をクリックします。

    4. JindoCache サービスセクションで、Configure をクリックします。

    5. common タブをクリックします。

  2. 設定項目を追加して適用します。

    1. Add Configuration Item をクリックします。

    2. 設定項目の追加 ダイアログボックスで、以下の設定項目を追加します。

      設定項目の追加および適用方法の詳細については、「設定項目の管理」をご参照ください。

      説明

      XXX は OSS バケットの名前に置き換えてください。

      パラメーター

      説明

      jindocache.oss.bucket.XXX.accessKeyId

      OSS バケットの AccessKey ID です。

      jindocache.oss.bucket.XXX.accessKeySecret

      OSS バケットの AccessKey Secret です。

      jindocache.oss.bucket.XXX.endpoint

      OSS バケットのエンドポイントです。