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

E-MapReduce:SmartData ユーザーガイド (EMR 3.22.0 から 3.25.1)

最終更新日:Jun 22, 2026

JindoFS は、Object Storage Service (OSS) とローカルストレージの利点を組み合わせたクラウドネイティブなファイルシステムです。JindoFS は、E-MapReduce (EMR) のクラウドコンピューティングに効率的で信頼性の高いストレージサービスを提供する次世代ストレージシステムでもあります。このトピックでは、JindoFS の設定方法、使用方法、およびその利用シナリオについて説明します。

概要

JindoFS では、ブロックストレージモードとキャッシュモードがサポートされています。

JindoFS は、異種混合マルチバックアップメカニズムを採用しています。Storage Service はデータストレージ機能を提供します。データは OSS に保存され、高い信頼性を確保します。冗長バックアップはローカルクラスターに保存され、読み取り操作を高速化します。Namespace Service は JindoFS のメタデータを管理します。この場合、メタデータは OSS ではなく Namespace Service からクエリされるため、クエリパフォーマンスが向上します。この JindoFS のクエリ方法は、Hadoop 分散ファイルシステム (HDFS) のクエリ方法と似ています。

説明
  • JindoFS は EMR 3.20.0 以降でサポートされています。JindoFS を使用するには、クラスターの作成時にこのサービスを選択してください。

  • このトピックでは、EMR 3.22.0 以降での JindoFS の使用方法について説明します。EMR 3.20.0 から 3.22.0 (3.22.0 を含まない) までのバージョンでの JindoFS の使用方法については、「SmartData ユーザーガイド (EMR 3.20.0 から 3.22.0)」をご参照ください。

signal_path

環境の準備

  • クラスターの作成

    EMR 3.22.0 以降を選択し、オプションサービスで SmartData を選択します。詳細については、「クラスターの作成」をご参照ください。

  • クラスターの設定

    JindoFS は OSS をストレージバックエンドとして使用します。JindoFS を使用する前に、OSS 関連のパラメーターを設定する必要があります。これには 2 つの方法があります。1 つ目の方法は、クラスター作成後に Bigboot のパラメーターを変更する方法です。この変更を有効にするには、SmartData サービスを再起動する必要があります。2 つ目の方法は、クラスター作成時にカスタム設定を追加する方法で、これによりクラスターの準備が完了するとすぐにカスタムパラメーターでサービスを開始できます。

    • クラスター作成後のパラメーターの初期化

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

      1. Service Configuration ページで、[bigboot] タブをクリックします。

        jfs.namespaces の値を test に設定します。

      2. Custom Configuration をクリックします。[設定項目の追加] ダイアログボックスで、次の設定項目を追加します。jfs.namespaces.test.urioss://oss-bucket/oss-dir に設定し、jfs.namespaces.test.modeblock に設定し、対応する OSS の AccessKey ID と AccessKey Secret を設定してから、[OK] をクリックします。

      説明
      • 記載されているパラメーターは必須です。

      • JindoFS は複数の名前空間をサポートしています。このトピックでは、test を名前空間の例として使用します。

      パラメーター

      説明

      jfs.namespaces

      現在の JindoFS インスタンスでサポートされている名前空間。複数の名前空間はカンマで区切ります。

      test

      jfs.namespaces.test.uri

      test 名前空間のストレージバックエンドの URI。

      oss://oss-bucket/oss-dir

      説明

      これを OSS バケット内の特定のディレクトリに設定できます。名前空間はこのディレクトリを読み書き操作のルートディレクトリとして使用します。

      jfs.namespaces.test.mode

      test 名前空間のストレージモード。

      block

      説明

      JindoFS は blockcache のストレージモードをサポートしています。

      jfs.namespaces.test.oss.access.key

      OSS の AccessKey ID。

      xxxx

      説明

      最適なパフォーマンスと安定性を得るために、EMR クラスターと同じアカウント、同じリージョンにある OSS バケットを使用することを推奨します。これにより、クラスターは OSS へのパスワードなしのアクセスが可能になり、AccessKey ID と AccessKey Secret を設定する必要がなくなります。

      jfs.namespaces.test.oss.access.secret

      OSS の AccessKey Secret。

      JindoFS の設定を保存してデプロイします。SmartData のすべてのコンポーネントを再起動して JindoFS を使用します。

    • クラスター作成時のカスタム設定の追加

      EMR クラスターの作成時にカスタム設定を追加できます。たとえば、同じリージョン内の OSS バケットへのパスワードなしのアクセスを有効にするには、ソフトウェアのカスタム設定 を選択し、test 名前空間に次の設定を追加します。

      [
      {
      "ServiceName":"BIGBOOT",
      "FileName":"bigboot",
      "ConfigKey":"jfs.namespaces","ConfigValue":"test"
      },{
      "ServiceName":"BIGBOOT",
      "FileName":"bigboot",
      "ConfigKey":"jfs.namespaces.test.uri",
      "ConfigValue":"oss://oss-bucket/oss-dir"
      },{
      "ServiceName":"BIGBOOT",
      "FileName":"bigboot",
      "ConfigKey":"jfs.namespaces.test.mode",
      "ConfigValue":"block"
      }
      ]

JindoFS の使用

JindoFS の使用は HDFS の使用と同様です。 JindoFS にはプレフィックスも用意されています。 JindoFS を使用するには、hdfs プレフィックスを jfs プレフィックスに置換するだけです。

JindoFS は、Hadoop、Hive、Spark、Flink、Presto、Impala など、EMR クラスター内のほとんどのコンピューティングコンポーネントをサポートしています。

例:

  • シェルコマンド

    hadoop fs -ls jfs://your-namespace/ 
    hadoop fs -mkdir jfs://your-namespace/test-dir
    hadoop fs -put test.log jfs://your-namespace/test-dir/
    hadoop fs -get jfs://your-namespace/test-dir/test.log ./
  • MapReduce ジョブ

    hadoop jar /usr/lib/hadoop-current/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar teragen -Dmapred.map.tasks=1000 10737418240 jfs://your-namespace/terasort/input
    hadoop jar /usr/lib/hadoop-current/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar terasort -Dmapred.reduce.tasks=1000 jfs://your-namespace/terasort/input jfs://your-namespace/terasort/output
  • Spark SQL

    CREATE EXTERNAL TABLE IF NOT EXISTS src_jfs (key INT, value STRING) location 'jfs://your-namespace/Spark_sql_test/';

ディスク領域のウォーターマーク制御

JindoFS はバックエンドとして OSS を使用して大容量のストレージを提供しますが、ローカルディスク領域は限られています。ローカルディスクの使用率を管理するために、JindoFS は 2 つのウォーターマークパラメーターに基づいてコールドデータのバックアップを自動的に退避させます:node.data-dirs.watermark.high.rationode.data-dirs.watermark.low.ratio です。どちらのパラメーターも、総ディスク容量に対する比率 (0 から 1 までの小数) として設定されます。ディスク使用率が高ウォーターマークに達すると、JindoFS は使用レベルが低ウォーターマークに下がるまでデータを退避させます。低ウォーターマークの値は、高ウォーターマークよりも低く設定する必要があります。

ストレージポリシーの設定

JindoFS では、さまざまなストレージのニーズを満たすよう複数のストレージポリシーが提供されています。 次の表は、ディレクトリに使用可能な 4 つのストレージポリシーの一覧です。

ポリシー

説明

COLD

データは OSS に 1 つのバックアップのみを持ち、ローカルバックアップはありません。このポリシーはコールドデータの保存に適しています。

WARM

デフォルトのストレージポリシー。

データは OSS に 1 つ、ローカルストレージに 1 つのバックアップを持ちます。ローカルバックアップは、後続の読み取り操作を効果的に高速化できます。

HOT

データは OSS に 1 つ、ローカルストレージに複数のバックアップを持ちます。このポリシーは、最も頻繁にアクセスされるデータに対してさらなる高速化を提供します。

TEMP

データはローカルバックアップを 1 つだけ持ちます。このポリシーは、一時データに対して高性能な読み書きを提供しますが、データの信頼性は低下します。一時データの保存とアクセスに適しています。

JindoFS は、ディレクトリのストレージポリシーを設定するためのコマンドラインツール Admin を提供します。デフォルトのストレージポリシーは WARM です。新しいファイルは、親ディレクトリに設定されたストレージポリシーに基づいて保存されます。次のコマンドを実行して、ストレージポリシーを設定します:

jindo dfsadmin -R -setStoragePolicy [path] [policy]

次のコマンドを実行して、ディレクトリに設定されているストレージポリシーを取得します。

jindo dfsadmin -getStoragePolicy [path]
説明

ここで、[path] はポリシーを設定するパスを指定し、-R は指定されたパス配下のすべてのサブディレクトリにポリシーを再帰的に適用することを指定します。

Admin ツールの使用

JindoFS Admin ツールは、archive コマンドと jindo コマンドを提供します。

  • Admin ツールには、コールドデータをアーカイブするためのアーカイブコマンドが用意されています。

    このコマンドを使用すると、ローカルブロックを明示的に退避させることができます。Hive がテーブルを日単位でパーティション分割していると仮定します。1 週間前に生成されたパーティションテーブルのデータへのアクセス頻度が低い場合、そのようなデータを保存するディレクトリに対して定期的に archive コマンドを実行できます。すると、ローカルクラスターに保存されているバックアップは退避されますが、OSS のバックアップは保持されます。

    次のアーカイブコマンドを実行します。

    jindo dfsadmin -archive [path]
    説明

    [path] パラメーターは、アーカイブするファイルのディレクトリパスを指定します。

  • Admin ツールは、Namespace Service の JindoFS のメタデータを管理するための jindo コマンドを提供します。

    jindo dfsadmin [-options]
    説明

    jindo dfsadmin --help コマンドを実行して、ヘルプ情報を取得できます。

Admin ツールは、キャッシュモード用の diff コマンドと sync コマンドも提供します。

  • diff コマンドは、主にローカルデータとバックエンドストレージシステムのデータとの差分を表示するために使用されます。

    jindo dfsadmin -R -diff [path]
    説明

    デフォルトでは、このコマンドは指定された [path] 内の直下のサブディレクトリのメタデータを比較します。-R オプションは、指定された [path] 配下のすべてのパスを再帰的に比較します。

  • sync コマンドは、ローカルとバックエンドストレージ間のメタデータを同期します。

    jindo dfsadmin -R -sync [path]
    説明

    [path] パラメーターは同期するパスを指定します。デフォルトでは、[path] の直下のサブディレクトリのメタデータのみが同期されます。-R オプションは、指定された [path] 配下のすべてのパスを再帰的に同期します。