このトピックでは、JindoFileSystem(JindoFS)のキャッシュモードとその使用シナリオについて説明します。
概要
キャッシュモードでは、JindoFS はデータファイルをオブジェクトストレージサービス(OSS)にオブジェクトとして保存し、これらのファイルへのアクセス要件に基づいて、ローカルクラスターにこれらのファイルのデータとメタデータをキャッシュします。 これにより、データとメタデータの読み取りおよび書き込み操作が高速化されます。 さらに、キャッシュモードでは、必要に応じてメタデータを同期するための複数のポリシーが提供されます。
シナリオ
キャッシュモードは、元の OSS セマンティクスと互換性があります。 キャッシュモードでは、JindoFS はデータファイルを OSS にオブジェクトとして保存し、ローカルクラスターにデータとメタデータをキャッシュします。 これにより、JindoFS は OSS クライアント、E-MapReduce(EMR)OssFileSystem、およびその他の OSS 対話型アプリケーションと互換性があります。 また、データを移行または変換することなく、JindoFS を構成する前に OSS に保存されているデータにアクセスすることもできます。 さらに、ローカルキャッシュは、データとメタデータの読み取りおよび書き込み操作を高速化します。
JindoFS の構成
次の図に示すように、Bigboot で JindoFS に関連するすべてのパラメーターを構成できます。


- 前の図で赤枠で囲まれたパラメーターは必須です。
- JindoFS は複数の名前空間をサポートしています。 このトピックでは、test という名前空間を使用します。
| パラメーター | 説明 | 例 |
| jfs.namespaces | JindoFS でサポートされている名前空間。 複数の名前空間はコンマ(,)で区切ります。 | test |
| jfs.namespaces.test.uri | test 名前空間のストレージバックエンド。 | oss://oss-bucket/ 説明 OSS バケット内のディレクトリに値を設定できます。 この場合、このディレクトリはルートディレクトリとして機能し、test 名前空間はそこでデータの読み書きを行います。 一般に、OSS のパスと同じになるように、値を OSS バケットに設定できます。 |
| jfs.namespaces.test.mode | test 名前空間のストレージモード。 このパラメーターを 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 で名前空間サービスを再起動します。

メタデータ同期ポリシーの構成
キャッシュモードでは、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] パラメーターを指定しない場合にのみ有効になります。