HDFSユーザーガイド

目的

このドキュメントは、Hadoopクラスタの一部として、またはスタンドアロンの汎用分散ファイルシステムとして、Hadoop分散ファイルシステム(HDFS)を使用するユーザーのための出発点です。HDFSは多くの環境で「そのまま動作する」ように設計されていますが、HDFSに関する知識は、特定のクラスタでの設定の改善と診断に非常に役立ちます。

概要

HDFSは、Hadoopアプリケーションで使用される主要な分散ストレージです。HDFSクラスタは主に、ファイルシステムメタデータを管理するNameNodeと、実際のデータを格納するDataNodeで構成されます。「HDFSアーキテクチャガイド」では、HDFSについて詳細に説明しています。このユーザーガイドでは、主にユーザーと管理者がHDFSクラスタと対話する方法について説明します。HDFSアーキテクチャ図は、NameNode、DataNode、クライアント間の基本的な相互作用を示しています。クライアントはファイルメタデータまたはファイルの変更のためにNameNodeに問い合わせ、実際のファイルI/OはDataNodeと直接行います。

以下は、多くのユーザーにとって興味深い重要な機能の一部です。

  • HDFSを含むHadoopは、コモディティハードウェアを使用した分散ストレージと分散処理に適しています。耐障害性、スケーラビリティが高く、拡張も非常に簡単です。大規模な分散アプリケーションのセットに適用できるシンプルさで知られるMapReduceは、Hadoopの不可欠な部分です。

  • HDFSは、多くのインストールに適したデフォルト設定で高度に構成可能です。多くの場合、設定の調整が必要になるのは、非常に大規模なクラスタの場合のみです。

  • HadoopはJavaで記述されており、主要なすべてのプラットフォームでサポートされています。

  • Hadoopは、HDFSと直接対話するためのシェルのようなコマンドをサポートしています。

  • NameNodeとDatanodeには、クラスタの現在の状態を簡単に確認できる組み込みのWebサーバーがあります。

  • HDFSでは、新しい機能と改善が定期的に実装されています。以下は、HDFSの有用な機能のサブセットです。

    • ファイルのアクセス許可と認証。

    • ラック認識:タスクのスケジューリングとストレージの割り当てを行う際に、ノードの物理的な場所を考慮に入れる。

    • セーフモード:メンテナンスのための管理モード。

    • fsck:ファイルシステムの健全性を診断し、欠落しているファイルやブロックを見つけるユーティリティ。

    • fetchdt:DelegationTokenを取得して、ローカルシステムのファイルに保存するユーティリティ。

    • バランサー:データがDataNode間で不均等に分散されている場合にクラスタのバランスを取るツール。

    • アップグレードとロールバック:ソフトウェアのアップグレード後、予期しない問題が発生した場合、アップグレード前のHDFSの状態にロールバックできます。

    • セカンダリNameNode:名前空間の定期的なチェックポイントを実行し、HDFSの変更ログを含むファイルのサイズをNameNodeで特定の範囲内に維持するのに役立ちます。

    • チェックポイントノード:名前空間の定期的なチェックポイントを実行し、HDFSへの変更を含むNameNodeに保存されているログのサイズを最小限に抑えるのに役立ちます。以前はセカンダリNameNodeによって実行されていた役割を置き換えますが、まだ実戦投入の準備が整っているわけではありません。NameNodeは、システムに登録されているバックアップノードがない限り、複数のチェックポイントノードを同時に許可します。

    • バックアップノード:チェックポイントノードの拡張機能です。チェックポイントに加えて、NameNodeからの編集ストリームも受信し、アクティブなNameNode名前空間状態と常に同期している、名前空間の独自のメモリ内コピーを維持します。一度に1つのバックアップノードのみをNameNodeに登録できます。

前提条件

次のドキュメントでは、Hadoopクラスタのインストールと設定方法について説明しています。

このドキュメントの残りの部分では、ユーザーが少なくとも1つのDataNodeを持つHDFSを設定して実行できると仮定しています。このドキュメントの目的のために、NameNodeとDataNodeの両方が同じ物理マシンで実行される可能性があります。

Webインターフェース

NameNodeとDataNodeはそれぞれ、クラスタの現在の状態に関する基本情報を表示するために、内部Webサーバーを実行します。デフォルトの設定では、NameNodeのフロントページはhttp://namenode-name:9870/にあります。クラスタ内のDataNodeとクラスタの基本統計情報を一覧表示します。Webインターフェースを使用して、ファイルシステムを参照することもできます(NameNodeのフロントページにある「ファイルシステムを参照」リンクを使用)。

シェルコマンド

Hadoopには、HDFSおよびHadoopがサポートするその他のファイルシステムと直接対話するさまざまなシェルのようなコマンドが含まれています。コマンドbin/hdfs dfs -helpは、Hadoopシェルによってサポートされているコマンドを一覧表示します。さらに、コマンドbin/hdfs dfs -help command-nameは、コマンドの詳細なヘルプを表示します。これらのコマンドは、ファイルのコピー、ファイルのアクセス許可の変更など、ほとんどの通常のファイルシステム操作をサポートしています。また、ファイルのレプリケーションの変更など、いくつかのHDFS固有の操作もサポートしています。詳細については、「ファイルシステムシェルガイド」を参照してください。

DFSAdminコマンド

bin/hdfs dfsadminコマンドは、いくつかのHDFS管理関連の操作をサポートしています。bin/hdfs dfsadmin -helpコマンドは、現在サポートされているすべてのコマンドを一覧表示します。例:

  • -report:HDFSの基本統計を報告します。この情報の一部は、NameNodeのフロントページでも入手できます。

  • -safemode:通常は必要ありませんが、管理者は手動でセーフモードに入ったり、セーフモードから抜け出したりできます。

  • -finalizeUpgrade:前回のアップグレード中に作成されたクラスタの以前のバックアップを削除します。

  • -refreshNodes:NameNodeに接続できるDataNodeのセットを使用して、NameNodeを更新します。デフォルトでは、NameNodeはdfs.hostsdfs.hosts.excludeで定義されたファイル内のDataNodeホスト名を再読み込みします。dfs.hostsに定義されているホストは、クラスタの一部であるDataNodeです。dfs.hostsにエントリがある場合、そのエントリにあるホストのみがNameNodeに登録できます。dfs.hosts.excludeのエントリは、デコミッションする必要があるDataNodeです。または、dfs.namenode.hosts.provider.classnameorg.apache.hadoop.hdfs.server.blockmanagement.CombinedHostFileManagerに設定されている場合、すべてのincludeホストとexcludeホストは、dfs.hostsで定義されたJSONファイルに指定されます。DataNodeは、それらからのすべてのレプリカが他のDataNodeにレプリケートされると、デコミッションを完了します。デコミッションされたノードは自動的にシャットダウンされず、新しいレプリカの書き込みには選択されません。

  • -printTopology:クラスタのトポロジを出力します。NameNodeから見た、ラックとラックに接続されているDataNodeのツリーを表示します。

コマンドの使用法については、「dfsadmin」を参照してください。

セカンダリNameNode

NameNodeは、ファイルシステムへの変更をネイティブファイルシステムファイルであるeditsに追記されたログとして保存します。NameNodeが起動すると、イメージファイルfsimageからHDFSの状態を読み込み、その後editsログファイルから変更を適用します。次に、新しいHDFSの状態をfsimageに書き込み、空のeditsファイルで通常の操作を開始します。NameNodeは起動時のみfsimageとeditsファイルをマージするため、ビジーなクラスタではeditsログファイルが時間の経過とともに非常に大きくなる可能性があります。editsファイルが大きくなるもう一つの副作用として、NameNodeの次回の再起動時間が長くなることが挙げられます。

セカンダリNameNodeは、fsimageとeditsログファイルを定期的にマージし、editsログのサイズを制限内に保ちます。そのメモリ要件はプライマリNameNodeと同程度であるため、通常はプライマリNameNodeとは別のマシンで実行されます。

セカンダリNameNodeでのチェックポイントプロセスの開始は、2つの設定パラメータによって制御されます。

  • dfs.namenode.checkpoint.period は、デフォルトで1時間に設定されており、2つの連続するチェックポイント間の最大遅延時間を指定します。

  • dfs.namenode.checkpoint.txns は、デフォルトで100万に設定されており、チェックポイントされていないNameNode上のトランザクションの数で、チェックポイント期間に達していない場合でも緊急チェックポイントを強制します。

セカンダリNameNodeは、最新のチェックポイントをプライマリNameNodeのディレクトリと同じ構造のディレクトリに保存します。そのため、チェックポイントされたイメージは、必要に応じてプライマリNameNodeによって常に読み取り可能になっています。

コマンドの使用方法については、secondarynamenodeを参照してください。

チェックポイントノード

NameNodeは、名前空間の最新のチェックポイントであるfsimageと、チェックポイント以降の名前空間への変更のジャーナル(ログ)であるeditsという2つのファイルを使用して名前空間を永続化します。NameNodeが起動すると、fsimageとeditsジャーナルをマージして、ファイルシステムメタデータの最新ビューを提供します。その後、NameNodeは新しいHDFSの状態を使用してfsimageを上書きし、新しいeditsジャーナルを開始します。

チェックポイントノードは、名前空間のチェックポイントを定期的に作成します。アクティブなNameNodeからfsimageとeditsをダウンロードし、ローカルでマージして、新しいイメージをアクティブなNameNodeにアップロードします。チェックポイントノードは、そのメモリ要件がNameNodeと同程度であるため、通常はNameNodeとは別のマシンで実行されます。チェックポイントノードは、設定ファイルに指定されたノードで、bin/hdfs namenode -checkpointによって起動されます。

チェックポイント(またはバックアップ)ノードとその付属のWebインターフェースの場所は、dfs.namenode.backup.addressdfs.namenode.backup.http-addressの設定変数によって設定されます。

チェックポイントノードでのチェックポイントプロセスの開始は、2つの設定パラメータによって制御されます。

  • dfs.namenode.checkpoint.periodは、デフォルトで1時間に設定されており、2つの連続するチェックポイント間の最大遅延時間を指定します。

  • dfs.namenode.checkpoint.txns は、デフォルトで100万に設定されており、チェックポイントされていないNameNode上のトランザクションの数で、チェックポイント期間に達していない場合でも緊急チェックポイントを強制します。

チェックポイントノードは、最新のチェックポイントをNameNodeのディレクトリと同じ構造のディレクトリに保存します。これにより、チェックポイントされたイメージは、必要に応じてNameNodeによって常に読み取り可能になります。チェックポイントのインポートを参照してください。

クラスタ設定ファイルには、複数のチェックポイントノードを指定できます。

コマンドの使用方法については、namenodeを参照してください。

バックアップノード

バックアップノードは、チェックポイントノードと同じチェックポイント機能を提供するだけでなく、アクティブなNameNodeの状態と常に同期されたファイルシステム名前空間のメモリ内コピーも保持します。ファイルシステム編集のジャーナルストリームをNameNodeから受け入れ、これをディスクに永続化するだけでなく、バックアップノードはそれらの編集をメモリ内の名前空間の独自のコピーにも適用するため、名前空間のバックアップを作成します。

バックアップノードは、既にメモリに名前空間の状態の最新の状態があるため、チェックポイントノードやセカンダリNameNodeのように、チェックポイントを作成するためにアクティブなNameNodeからfsimageとeditsファイルをダウンロードする必要はありません。バックアップノードのチェックポイントプロセスは、名前空間をローカルのfsimageファイルに保存し、editsをリセットするだけで済むため、より効率的です。

バックアップノードは名前空間のコピーをメモリに保持するため、そのRAM要件はNameNodeと同じです。

NameNodeは一度に1つのバックアップノードをサポートします。バックアップノードが使用されている場合は、チェックポイントノードを登録できません。複数のバックアップノードを同時に使用することは、将来サポートされる予定です。

バックアップノードは、チェックポイントノードと同じ方法で設定されます。bin/hdfs namenode -backupで起動されます。

バックアップ(またはチェックポイント)ノードとその付属のWebインターフェースの場所は、dfs.namenode.backup.addressdfs.namenode.backup.http-addressの設定変数によって設定されます。

バックアップノードを使用すると、永続ストレージを使用せずにNameNodeを実行し、名前空間の状態の永続化のすべての責任をバックアップノードに委任することができます。これを行うには、-importCheckpointオプションを使用してNameNodeを起動し、NameNode設定のeditsタイプの永続ストレージディレクトリdfs.namenode.edits.dirを指定しません。

バックアップノードとチェックポイントノードの作成の背後にある動機についての完全な説明については、HADOOP-4539を参照してください。コマンドの使用方法については、namenodeを参照してください。

チェックポイントのインポート

イメージとeditsファイルの他のすべてのコピーが失われた場合、最新のチェックポイントをNameNodeにインポートできます。そのためには、

  • dfs.namenode.name.dir設定変数で指定された空のディレクトリを作成します。

  • 設定変数dfs.namenode.checkpoint.dirにチェックポイントディレクトリの場所を指定します。

  • そして、-importCheckpointオプションを使用してNameNodeを起動します。

NameNodeはdfs.namenode.checkpoint.dirディレクトリからチェックポイントをアップロードし、dfs.namenode.name.dirに設定されたNameNodeディレクトリに保存します。合法的なイメージがdfs.namenode.name.dirに含まれている場合、NameNodeは失敗します。NameNodeはdfs.namenode.checkpoint.dirのイメージの一貫性を検証しますが、変更はしません。

コマンドの使用方法については、namenodeを参照してください。

バランサー

HDFSデータは、常にDataNode全体に均一に配置されるとは限りません。一般的な理由の1つは、既存のクラスタに新しいDataNodeを追加することです。新しいブロック(ファイルのデータは一連のブロックとして格納されます)を配置する場合、NameNodeはこれらのブロックを受け取るDataNodeを選択する前に、さまざまなパラメータを考慮します。考慮事項の一部を以下に示します。

  • ブロックのレプリカの1つを、ブロックを書き込んでいるノードと同じノードに保持するポリシー。

  • ラック全体の損失からクラスタを保護するために、ブロックの異なるレプリカをラック全体に分散する必要があること。

  • レプリカの1つは通常、ファイルに書き込んでいるノードと同じラックに配置されるため、ラック間のネットワークI/Oが削減されます。

  • HDFSデータをクラスタ内のDataNode全体に均一に分散します。

複数の競合する考慮事項があるため、データはDataNode全体に均一に配置されない場合があります。HDFSは、ブロック配置を分析し、DataNode全体にデータを再バランスする管理者向けのツールを提供します。バランサーの簡単な管理者ガイドは、HADOOP-1652にあります。

バランサーは、ツールとして実行するか、長時間実行されるサービスとして実行するかの2つのモードをサポートします。

  • ツールモードでは、クラスタを最善の努力でバランスしようと試み、次の条件で終了します。

    • すべてのクラスタがバランスされています。

    • 非常に多くの反復処理(デフォルトは5)でバイトが移動されません。

    • ブロックを移動できません。

    • クラスタのアップグレードが進行中です。

    • その他のエラー。

  • サービスモードでは、バランサーは長時間実行されるデーモサービスとして実行されます。動作は次のとおりです。

    • 各ラウンドごとに、成功するまで、またはエラーで戻るまでクラスタのバランスを取ろうとします。

    • 各ラウンド間のインターバルを設定できます。インターバルはdfs.balancer.service.intervalで設定されます。

    • 予期しない例外が発生した場合、サービスを停止する前に数回試行します。これはdfs.balancer.service.retries.on.exceptionで設定されます。

コマンドの使用方法については、balancerを参照してください。

ラック認識

HDFSクラスタは、各ノードが配置されているラックのトポロジを認識できます。データ容量と使用率を最適化するために、このトポロジを設定することが重要です。詳細については、共通ドキュメントのラック認識を確認してください。

セーフモード

起動時に、NameNodeはfsimageとeditsログファイルからファイルシステムの状態を読み込みます。その後、DataNodeがブロックを報告するのを待ってから、クラスタに十分なレプリカが既に存在するにもかかわらず、ブロックのレプリケーションを早期に開始しないようにします。この間、NameNodeはセーフモードのままです。NameNodeのセーフモードは、基本的にHDFSクラスタの読み取り専用モードであり、ファイルシステムやブロックへの変更は許可されません。通常、NameNodeはDataNodeがほとんどのファイルシステムブロックが使用可能であると報告した後、自動的にセーフモードを終了します。必要に応じて、bin/hdfs dfsadmin -safemodeコマンドを使用して、HDFSを明示的にセーフモードにすることができます。NameNodeのフロントページには、セーフモードがオンになっているかオフになっているかが表示されます。より詳細な説明と設定は、setSafeMode()のJavaDocとして保持されています。

fsck

HDFSは、さまざまな不整合をチェックするためのfsckコマンドをサポートしています。これは、さまざまなファイルに関する問題(たとえば、ファイルのブロックの欠落やレプリケーション不足のブロック)を報告するために設計されています。ネイティブファイルシステムの従来のfsckユーティリティとは異なり、このコマンドは検出されたエラーを修正しません。通常、NameNodeは自動的にほとんどの回復可能な障害を修正します。デフォルトでは、fsckは開いているファイルを無視しますが、レポート中にすべてのファイルを選択するオプションを提供します。HDFS fsckコマンドはHadoopシェルコマンドではありません。bin/hdfs fsckとして実行できます。コマンドの使用方法については、fsckを参照してください。fsckは、ファイルシステム全体またはファイルのサブセットに対して実行できます。

fetchdt

HDFSは、委任トークンを取得してローカルシステムのファイルに保存するためのfetchdtコマンドをサポートしています。このトークンは後で、安全でないクライアントからセキュアなサーバー(たとえばNameNode)にアクセスするために使用できます。ユーティリティはRPCまたはHTTPS(Kerberos経由)を使用してトークンを取得するため、実行前にKerberosチケットが存在する必要があります(チケットを取得するにはkinitを実行します)。HDFS fetchdtコマンドはHadoopシェルコマンドではありません。bin/hdfs fetchdt DTfileとして実行できます。トークンを取得したら、HADOOP_TOKEN_FILE_LOCATION環境変数を委任トークンファイルに設定することで、Kerberosチケットを持たずにHDFSコマンドを実行できます。コマンドの使用方法については、fetchdtコマンドを参照してください。

リカバリモード

通常、複数のメタデータストレージの場所を設定します。その後、ストレージの場所の1つが破損した場合、他のストレージの場所の1つからメタデータを読み取ることができます。

ただし、使用可能なストレージの場所がすべて破損している場合はどうすればよいでしょうか?この場合、データの大部分を回復できる可能性のある、リカバリモードと呼ばれる特別なNameNode起動モードがあります。

次のようにして、リカバリモードでNameNodeを起動できます。namenode -recover

リカバリモードの場合、NameNodeはコマンドラインでデータの回復に実行できる可能性のある対処法について対話的にプロンプトを表示します。

プロンプトを表示したくない場合は、-forceオプションを指定できます。このオプションを使用すると、リカバリモードは常に最初の選択肢を選択します。通常、これは最も妥当な選択肢になります。

リカバリモードを使用するとデータが失われる可能性があるため、使用する前に必ず編集ログとfsimageをバックアップしてください。

アップグレードとロールバック

既存クラスタでHadoopをアップグレードする場合、他のソフトウェアアップグレードと同様に、既存のアプリケーションに影響を与える新たなバグや互換性のない変更が存在し、事前に検出されなかった可能性があります。重要なHDFSインストールにおいて、データを失うことは選択肢ではありません。ましてや、HDFSを最初から再起動することもできません。HDFS管理者は、以前のバージョンのHadoopに戻り、アップグレード前の状態にクラスタをロールバックできます。HDFSアップグレードについては、Hadoopアップグレード Wikiページでより詳細に説明されています。HDFSは一度に1つのバックアップを持つことができます。アップグレード前に、管理者はbin/hadoop dfsadmin -finalizeUpgradeコマンドを使用して既存のバックアップを削除する必要があります。以下に、一般的なアップグレード手順の概要を示します。

  • Hadoopソフトウェアをアップグレードする前に、既存のバックアップがあればファイナライズします。

  • クラスタを停止し、新しいバージョンのHadoopを配布します。

  • -upgradeオプション付きで新しいバージョンを実行します(sbin/start-dfs.sh -upgrade)。

  • ほとんどの場合、クラスタは正常に動作します。新しいHDFSが正常に動作すると判断された後(運用開始から数日後など)、アップグレードをファイナライズします。クラスタがファイナライズされるまで、アップグレード前に存在していたファイルを削除しても、DataNode上の実際のディスク容量は解放されません。

  • 以前のバージョンに戻す必要がある場合、

    • クラスタを停止し、以前のバージョンのHadoopを配布します。

    • NameNodeでロールバックコマンドを実行します(bin/hdfs namenode -rollback)。

    • ロールバックオプション付きでクラスタを起動します(sbin/start-dfs.sh -rollback)。

新しいバージョンのHDFSにアップグレードする際には、新しいバージョンのHDFSで予約されているパスを名前変更または削除する必要があります。NameNodeがアップグレード中に予約済みパスを検出すると、次のようなエラーが表示されます。

/.reservedは予約済みパスであり、.snapshotはこのバージョンのHDFSでは予約済みパスコンポーネントです。ロールバックしてこのパスを削除または名前変更するか、-renameReserved [キーバリューペア]オプションを使用してアップグレード時にこれらのパスを自動的に名前変更してください。

-upgrade -renameReserved [オプションのキーバリューペア]を指定すると、NameNodeは起動時に検出された予約済みパスを自動的に名前変更します。たとえば、すべての.snapshotという名前のパスを.my-snapshotに、.reserved.my-reservedに名前変更するには、-upgrade -renameReserved .snapshot=.my-snapshot,.reserved=.my-reservedを指定します。

-renameReservedにキーバリューペアを指定しない場合、NameNodeは予約済みパスに.<LAYOUT-VERSION>.UPGRADE_RENAMEDというサフィックスを追加します(例:.snapshot.-51.UPGRADE_RENAMED)。

この名前変更プロセスにはいくつかの注意点があります。可能であれば、アップグレード前にhdfs dfsadmin -saveNamespaceを実行することをお勧めします。これは、編集ログ操作が自動的に名前変更されたファイルの宛先を参照する場合、データの不整合が発生する可能性があるためです。

DataNode ホットスワップドライブ

Datanodeはホットスワップ可能なドライブをサポートしています。ユーザーは、DataNodeをシャットダウンせずにHDFSデータボリュームを追加または交換できます。以下に、一般的なホットスワップドライブ手順の概要を示します。

  • 新しいストレージディレクトリがある場合は、それらをフォーマットし、適切にマウントする必要があります。

  • ユーザーは、アクティブに使用されるデータボリュームディレクトリを反映するように、DataNodeの設定dfs.datanode.data.dirを更新します。

  • ユーザーはdfsadmin -reconfig datanode HOST:PORT startを実行して再構成プロセスを開始します。ユーザーはdfsadmin -reconfig datanode HOST:PORT statusを使用して、再構成タスクの実行状況を問い合わせることができます。HOST:PORTの代わりに、livenodesをDatanodeに対して指定することもできます。これにより、特定のDatanode(HOST:PORTで表される)での再構成の開始または問い合わせのみを許可するのに対し、すべてのライブDatanodeで再構成の開始または問い合わせが可能になります。livenodesクエリには、dfsadmin -reconfig datanode livenodes startおよびdfsadmin -reconfig datanode livenodes statusがあります。

  • 再構成タスクが完了したら、ユーザーは削除されたデータボリュームディレクトリを安全にumountし、物理的にディスクを削除できます。

ファイルのパーミッションとセキュリティ

ファイルのパーミッションは、Linuxなどの他の一般的なプラットフォームのファイルパーミッションと同様になるように設計されています。現在、セキュリティは単純なファイルパーミッションに限定されています。NameNodeを起動するユーザーは、HDFSのスーパーユーザーとして扱われます。将来のバージョンのHDFSでは、Kerberosなどのネットワーク認証プロトコルを使用して、ユーザー認証とデータ転送の暗号化をサポートします。詳細は、パーミッションガイドで説明されています。

スケーラビリティ

Hadoopは現在、数千ノードのクラスタで実行されています。 PoweredBy Wikiページには、大規模クラスタにHadoopを展開している組織の一部がリストされています。HDFSはクラスタごとに1つのNameNodeを持っています。現在、NameNodeで使用可能な総メモリが、スケーラビリティの主要な制限要因となっています。非常に大規模なクラスタでは、HDFSに保存されているファイルの平均サイズを大きくすることで、NameNodeのメモリ要件を増やすことなくクラスタサイズを大きくすることができます。デフォルトの設定は大規模クラスタには適していない場合があります。FAQ Wikiページには、大規模Hadoopクラスタのための推奨される設定の改善点がリストされています。

関連ドキュメント

このユーザーガイドは、HDFSを使用するための良い出発点です。ユーザーガイドは継続的に改善されていますが、HadoopとHDFSに関する膨大なドキュメントがあります。以下は、さらなる調査の出発点です。

  • Hadoopサイト:Apache Hadoopサイトのホームページ。
  • Hadoop Wiki:Hadoop Wikiのホームページ(FrontPage)。Hadoopソースツリーの一部であるリリース済みのドキュメントとは異なり、Hadoop WikiはHadoopコミュニティによって定期的に編集されています。
  • FAQ:FAQ Wikiページ。
  • Hadoop JavaDoc API.
  • Hadoopユーザーメーリングリスト:user[at]hadoop.apache.org。
  • hdfs-default.xmlを参照してください。使用可能なほとんどの設定変数の簡単な説明が含まれています。
  • HDFSコマンドガイド:HDFSコマンドの使い方。