JindoFSx クライアントのピアツーピア (P2P) キャッシュは、ローカルキャッシュの一種とみなすことができます。元のローカルキャッシュ機能と比較して、P2P キャッシュでは他のクライアントからデータを読み取ることができます。クライアントがローカルキャッシュからデータブロックを要求すると、クライアントは必要なデータを含む他のクライアントから必要なデータをプルします。クライアントが他のクライアントからデータをプルするためのリクエストを送信できない場合、必要なデータはリモートサーバーから、または Security Token Service (STS) トークンを使用して読み取られます。このトピックでは、分散 P2P キャッシュ機能を使用してデータをダウンロードする方法について説明します。
前提条件
EMR V3.42.0 以降のマイナーバージョンのクラスタ、または EMR V5.6.0 以降のマイナーバージョンのクラスタが EMR コンソールで作成され、クラスタの作成時にオプションサービスから JindoData サービスが選択されています。詳細については、「クラスタの作成」をご参照ください。
手順
手順 1:サーバーの構成
JindoData サービスの [共通] タブに移動します。
上部のナビゲーションバーで、クラスタが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[EMR On ECS] ページで、管理するクラスタを見つけ、[アクション] 列の [サービス] をクリックします。
JindoData セクションで [構成] をクリックします。
[共通] タブをクリックします。
- 構成項目を追加します。
- [共通] タブで、[構成項目の追加] をクリックします。
- [構成項目の追加] ダイアログボックスで、次の表に示す構成項目を追加します。
構成項目を追加する方法の詳細については、「構成項目の追加」トピックの「構成項目の追加」セクションをご参照ください。
カテゴリ パラメータ 説明 サーバー jindofsx.p2p.tracker.thread.number コーディネーターノードが使用できるスレッドの数。ほとんどの場合、このパラメーターは 1 に設定されます。クライアント数が 1,000 を超える場合は、より大きな値を指定できます。値が 1 未満の場合、分散 P2P キャッシュ機能は無効になります。 jindofsx.p2p.file.prefix P2P キャッシュ機能を使用してファイルをダウンロードするパスのプレフィックス。複数のファイルパスが含まれている場合は、パスをカンマ (,) で区切ります。ファイルは、パスがプレフィックスのいずれかと一致する場合にのみ、P2P キャッシュ機能を使用してダウンロードされます。アプリケーション層で統合名前空間を使用して JindoFSx にマウントされたパスを使用してデータをダウンロードする場合は、このパラメーターをオブジェクトの実際のパスに設定します。例: oss://bucket1/data-dir1/,oss://bucket2/data-dir2/
。クライアント fs.jindofsx.p2p.cache.capacity.limit 分散 P2P キャッシュ機能を使用して実行されるダウンロードが占有できるメモリの最大サイズ。単位:バイト。デフォルトサイズは 5 GB、最小サイズは 1 GB です。 fs.jindofsx.p2p.download.parallelism.per.file P2P キャッシュ機能を使用して単一のファイルをダウンロードするときの同時ダウンロード数。たとえば、このパラメーターを 5 に設定できます。 fs.jindofsx.p2p.download.thread.pool.size P2P キャッシュ機能を使用して実行されるダウンロードで使用されるスレッドプールの合計サイズ。たとえば、このパラメーターを 5 に設定できます。 - [OK] をクリックします。
- [保存] ダイアログボックスで、[実行理由] パラメーターを構成し、[保存] をクリックします。
JindoData サービスを再起動します。
JindoData サービスの [サービス] タブで、 を選択します。
[JINDODATA サービスの再起動] ダイアログボックスで、実行理由を指定し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
手順 2:JindoSDK の構成
この手順では、クライアントを構成します。この手順を完了した後、JindoData サービスを再起動する必要はありません。
- [構成] タブに移動します。
上部のナビゲーションバーで、クラスタが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[EMR On ECS] ページで、管理するクラスタを見つけ、サービス[アクション] 列の をクリックします。
[サービス] タブで、HADOOP-COMMON セクションの [構成] をクリックします。
[core-site.xml] タブをクリックします。
- [core-site.xml] タブで、次の構成項目を変更します。
構成項目を追加する方法の詳細については、「構成項目の追加」トピックの「構成項目の追加」セクションをご参照ください。構成項目を変更する方法の詳細については、「構成項目の変更」トピックの「構成項目の変更」セクションをご参照ください。
項目 パラメータ 説明 Object Storage Service (OSS) の実装クラスを構成する fs.AbstractFileSystem.oss.impl 値を com.aliyun.jindodata.oss.OSS
に設定します。fs.oss.impl 値を com.aliyun.jindodata.oss.JindoOssFileSystem
に設定します。エンジンの種類を指定する fs.xengine 値を jindofsx
に設定します。JindoFSx 名前空間サービスのエンドポイントを構成する fs.jindofsx.namespace.rpc.address ${headerhost}:8101 形式で値を指定します。例:master-1-1:8101。 説明高可用性モードでの名前空間サービスの構成と使用方法の詳細については、「JindoFSx 名前空間サービスを高可用性モードで構成および使用する」をご参照ください。
クエリ高速化のためのデータキャッシュを構成する 説明 この機能を有効にすると、ホットデータブロックがローカルディスクにキャッシュされます。デフォルトでは、この機能は無効になっており、OSS/OSS-HDFS からデータを読み取ることができます。fs.jindofsx.data.cache.enable クエリ高速化のためのデータキャッシュを有効にするかどうかを指定します。有効な値: - false:機能を無効にします。これはデフォルト値です。
- true:機能を有効にします。
- 変更を保存します。
- [構成] タブで、[保存] をクリックします。
- [保存] ダイアログボックスで、[実行理由] パラメーターを構成し、[構成を自動的に更新] をオンにして、[保存] をクリックします。
手順 3:分散 P2P キャッシュ機能の使用
上記の構成を完了した後、読み取るファイルのパスが jindofsx.p2p.file.prefix パラメーターで指定されたプレフィックスのいずれかと一致する場合、他の API 操作を呼び出すことなく、すべての読み取りリクエストは分散 P2P キャッシュ機能を使用して処理されます。たとえば、Hadoop シェルコマンドを実行して、オンプレミスマシンにファイルをダウンロードできます。ファイルのパスが指定されたプレフィックスのいずれかと一致する場合、分散 P2P キャッシュ機能は自動的に有効になります。
P2P record for path: // パスに対する P2P レコード
上記の情報が存在する場合、ファイルの読み取りリクエストは分散 P2P キャッシュ機能を使用して処理されます。