EMR Doctor では、Object Storage Service (OSS) に保存されているデータの分析が可能です。また、EMR Doctor は、OSS ストレージリソースの使用状況と正常性ステータスを分析し、OSS に保存されているデータを効率的に管理できるストレージ分析機能も提供します。
背景情報
OSS はバケットインベントリ機能を提供します。この機能を有効にすると、OSS はバケットのインベントリリストを定期的に生成します。インベントリリストには、オブジェクトの数やサイズなど、オブジェクトに関する情報が保存されます。EMR Doctor では、バケット用に生成されたインベントリリストに基づいて、バケット内のデータの使用状況と正常性ステータス、および Hive ストレージリソースとの関連付けを分析できます。
ストレージ分析機能を使用する前に、バケットのバケットインベントリ機能を有効にする必要があります。バケットインベントリ機能の詳細については、「バケットインベントリ」をご参照ください。
注意事項
バケットインベントリ機能の使用には料金が発生します。詳細については、「バケットインベントリ」をご参照ください。
バケットインベントリ機能を有効にする
クラスタで複数の OSS バケットを使用しており、バケット内のストレージリソースを分析する場合は、次の手順を実行して、OSS コンソールでバケットのバケットインベントリ機能を有効にします。
[OSS コンソール] にログオンします。
左側のナビゲーションウィンドウで、バケットリスト をクリックします。[バケット] ページで、目的のバケットを見つけてクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[バケットインベントリ] ページで、[インベントリの作成] をクリックします。
[インベントリを作成] パネルで、パラメーターを構成します。詳細については、「バケットインベントリ」をご参照ください。
重要[インベントリストレージバケット] に選択するバケットが、バケットインベントリ機能を有効にするバケットであることを確認します。
バケットに 100 億個を超えるオブジェクトが格納されている場合は、[頻度] パラメーターに [週次] を選択することをお勧めします。バケットに格納されているオブジェクトの数が 100 億個以下の場合は、[頻度] パラメーターに [日次] を選択できます。
[オプションフィールド] パラメーターに [オブジェクトサイズ] と [ストレージクラス] を選択していることを確認します。
[利用規約を読み、同意します。alibaba Cloud OSS がバケット内のリソースにアクセスすることを承認します。] を読んで選択します。次に、[OK] をクリックします。
ストレージ分析機能を構成する
ストレージ分析機能は、バケットインベントリ機能の使用時に生成されるインベントリリストに依存します。EMR コンソールの [TAIHAODOCTOR] サービスページの [構成] タブで、次のパラメーターを構成する必要があります。詳細については、「構成」をご参照ください。
パラメーター | 説明 |
| 分析するオブジェクトを格納する OSS バケットの名前。 |
| 生成されたインベントリリストが保存されるディレクトリ。ディレクトリは
|
たとえば、inventory_path
パラメーターを reports
に、inventory_bucket
パラメーターを my-bucket
に、inventory_name
パラメーターを my-inventory
に設定します。
collect.oss.manifest.dir
パラメーターの値は reports/my-bucket/my-inventory
です。
クラスタで複数のバケットを使用し、バケットのバケットインベントリ機能を有効にする場合は、生成されたインベントリリストが保存されるバケット名とディレクトリを、クラスタの構成項目に順番に追加できます。バケット名とディレクトリはカンマ (,) で区切ります。バケット名の順序がインベントリリストの順序に対応していることを確認してください。
単一バケットの構成
この例では、my-bucket
バケットを使用します。次の結果は、ストレージ分析の構成を示しています。
collect.oss.bucket: my-bucket
collect.oss.manifest.dir: reports/my-bucket/my-inventory
複数バケットの構成
この例では、my-bucket1
バケットと my-bucket2
バケットを使用します。次の結果は、ストレージ分析の構成を示しています。
collect.oss.bucket: my-bucket1,my-bucket2
collect.oss.manifest.dir: reports1/my-bucket1/my-inventory1,reports2/my-bucket2/my-inventory2