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

E-MapReduce:キャッシュモードの使用

最終更新日:Jan 11, 2025

このトピックでは、JindoFileSystem(JindoFS)のキャッシュモードとその使用シナリオについて説明します。

概要

キャッシュモードでは、JindoFS はデータファイルをオブジェクトストレージサービス(OSS)にオブジェクトとして保存し、これらのファイルへのアクセス要件に基づいて、ローカルクラスターにこれらのファイルのデータとメタデータをキャッシュします。 これにより、データとメタデータの読み取りおよび書き込み操作が高速化されます。 さらに、キャッシュモードでは、必要に応じてメタデータを同期するための複数のポリシーが提供されます。

シナリオ

キャッシュモードは、元の OSS セマンティクスと互換性があります。 キャッシュモードでは、JindoFS はデータファイルを OSS にオブジェクトとして保存し、ローカルクラスターにデータとメタデータをキャッシュします。 これにより、JindoFS は OSS クライアント、E-MapReduce(EMR)OssFileSystem、およびその他の OSS 対話型アプリケーションと互換性があります。 また、データを移行または変換することなく、JindoFS を構成する前に OSS に保存されているデータにアクセスすることもできます。 さらに、ローカルキャッシュは、データとメタデータの読み取りおよび書き込み操作を高速化します。

JindoFS の構成

次の図に示すように、Bigboot で JindoFS に関連するすべてのパラメーターを構成できます。

図 1. ConfigMap の更新server_config
図 2. 構成項目の追加cong_sel
説明
  • 前の図で赤枠で囲まれたパラメーターは必須です。
  • JindoFS は複数の名前空間をサポートしています。 このトピックでは、test という名前空間を使用します。
パラメーター説明
jfs.namespacesJindoFS でサポートされている名前空間。 複数の名前空間はコンマ(,)で区切ります。test
jfs.namespaces.test.uritest 名前空間のストレージバックエンド。oss://oss-bucket/
説明 OSS バケット内のディレクトリに値を設定できます。 この場合、このディレクトリはルートディレクトリとして機能し、test 名前空間はそこでデータの読み書きを行います。 一般に、OSS のパスと同じになるように、値を OSS バケットに設定できます。
jfs.namespaces.test.modetest 名前空間のストレージモード。 このパラメーターを cache に設定します。cache
jfs.namespaces.test.oss.access.keyストレージバックエンドとして機能する OSS バケットにアクセスするために使用される AccessKey ID。xxxx
説明 EMR クラスターと同じリージョンおよび同じアカウントにある OSS バケットにデータを保存することをお勧めします。 これにより、高パフォーマンスと安定性が確保されます。 この場合、OSS バケットは EMR クラスターからのパスワードなしアクセスを許可するため、AccessKey ID と AccessKey シークレットを構成する必要はありません。
jfs.namespaces.test.oss.access.secretストレージバックエンドとして機能する OSS バケットにアクセスするために使用される AccessKey シークレット。

JindoFS 構成を保存してデプロイします。 JindoFS を使用するには、SmartData で名前空間サービスを再起動します。

cofig

メタデータ同期ポリシーの構成

キャッシュモードでは、JindoFS を構成する前に、一部のデータが OSS に既に存在している場合があります。 このシナリオでは、JindoFS が構成された後、データとメタデータは今後のアクセスに備えて JindoFS に同期されます。 データ同期ポリシーは、データにアクセスするたびにデータがローカルクラスターにキャッシュされるというものです。 JindoFS は、インターバルポリシーとロードポリシーの 2 種類のメタデータ同期ポリシーをサポートしています。

  • インターバルポリシー:

    [namespace.sync.interval] パラメーターを設定して同期間隔を指定できます。 デフォルト値は [-1] で、JindoFS が OSS からメタデータを同期しないことを示します。

    • このパラメーターを [0] に設定すると、JindoFS はデータにアクセスするたびに OSS からメタデータを同期します。
    • このパラメーターを [0] より大きい値に設定すると、JindoFS は設定値の秒単位の間隔で OSS からメタデータを同期します。
      説明 たとえば、このパラメーターを [5] に設定すると、JindoFS は 5 秒ごとに OSS からメタデータを同期します。
  • ロードポリシー:

    [namespace.sync.loadtype] パラメーターを設定してロードポリシーを指定できます。 有効な値は、never、once、および always です。 [never] は、JindoFS が OSS からメタデータを同期しないことを示します。 [once] は、JindoFS が OSS からメタデータを 1 回だけ同期することを示します。 これがデフォルト値です。 [always] は、JindoFS がデータにアクセスするたびに OSS からメタデータを同期することを示します。

    説明 [namespace.sync.loadtype] パラメーターは、[namespace.sync.interval] パラメーターを指定しない場合にのみ有効になります。