本ページでは、JindoFileSystem (JindoFS) のキャッシュモードとそのシナリオについて説明します。

概要

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

シナリオ

キャッシュモードは、元の OSS セマンティクスと互換性があります。 キャッシュモードでは、JindoFS はデータファイルをオブジェクトとしてOSS に格納し、データとメタデータをローカルクラスターにキャッシュします。 この方法より、OSS クライアント、E-MapReduce OssFileSystem、およびその他の OSS インタラクティブアプリケーションと JindoFS の互換性が保証されます。 また、JindoFS を設定する前に、OSS に存在するデータにアクセスできます。データを移行または変換する必要はありません。 さらに、ローカルキャッシュを使用して、データとメタデータの読み取りおよび書き込み操作を高速化できます。

JindoFS の設定

下図のように、Bigboot ですべてのJindoFS 関連パラメーターを設定できます。

  • 上図の赤枠内のパラメーターは必須項目です。
  • JindoFS は複数の名前空間をサポートしています。 本ページでは、test という名前空間を使用します。
パラメーター 説明
jfs.namespaces JindoFS でサポートされている名前空間を設定します。 複数入力する場合は、コンマ (,) で区切ります。 test
jfs.namespaces.test.uri テストで使用する名前空間のストレージバックエンドを設定します。 oss://oss-bucket/
OSS バケット内のディレクトリに値を設定できます。 この場合、このディレクトリはルートディレクトリとして機能し、テストで使用する名前空間がデータを読み書きします。 通常、値を OSS バケットに設定して、パスが OSS のパスと同じであることを保証できます。
jfs.namespaces.test.mode テストで使用する名前空間のストレージモードを設定します。 cache
jfs.namespaces.test.oss.access.key ストレージバックエンドとして機能する OSS バケットへのアクセスに使用される AccessKey ID を設定します。 xxxx
パフォーマンスと安定性を高めるために、E-MapReduce クラスターのストレージバックエンドと同じリージョンおよび同じアカウントの OSS バケットを選択することを推奨します。 この場合、E-MapReduce クラスターは、AccessKey IDとAccessKey シークレットを使用せずに OSS バケットにアクセスできます。
jfs.namespaces.test.oss.access.secret ストレージのバックエンドとして機能する OSS バケットへのアクセスに使用される AccessKey secret を設定します。

JindoFS 設定を保存して展開します。 JindoFS を使用するには、SmartData の名前空間サービスを再起動します。

メタデータ同期ポリシーの設定

キャッシュモードでは、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 からのメタデータを一度だけ同期することを示します。 この値がデフォルトです。 always は、JindoFS がデータにアクセスするたびに OSS からのメタデータを同期することを示します。

    namespace.sync.loadtype パラメーターは、namespace.sync.interval パラメーターを指定しない場合のみ有効です。