HDFS コマンドガイド

概要

すべての HDFS コマンドは、bin/hdfs スクリプトによって呼び出されます。引数なしで hdfs スクリプトを実行すると、すべてのコマンドの説明が表示されます。

使用法: hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]

Hadoop には、汎用オプションの解析とクラスの実行を利用するオプション解析フレームワークがあります。

COMMAND_OPTIONS 説明
SHELL_OPTIONS シェルオプションの共通セット。これらは、コマンドマニュアルページに記載されています。
GENERIC_OPTIONS 複数のコマンドでサポートされているオプションの共通セット。詳細については、Hadoop のコマンドマニュアルを参照してください。
COMMAND COMMAND_OPTIONS さまざまなコマンドとそのオプションについては、以下のセクションで説明します。コマンドは、ユーザーコマンド管理コマンドにグループ化されています。

ユーザーコマンド

Hadoop クラスタのユーザーに役立つコマンド。

classpath

使用法: hdfs classpath [--glob |--jar <path> |-h |--help]

COMMAND_OPTION 説明
--glob ワイルドカードを展開します
--jar path path という名前の jar のマニフェストとしてクラスパスを書き込みます
-h--help ヘルプを表示します

Hadoop jar と必要なライブラリを取得するために必要なクラスパスを表示します。引数なしで呼び出された場合は、コマンドスクリプトによって設定されたクラスパス (クラスパスエントリにワイルドカードが含まれている可能性が高い) を表示します。追加のオプションは、ワイルドカード展開後のクラスパスを表示するか、クラスパスを jar ファイルのマニフェストに書き込みます。後者は、ワイルドカードを使用できず、展開されたクラスパスがサポートされるコマンドラインの最大長を超える環境で役立ちます。

dfs

使用法: hdfs dfs [COMMAND [COMMAND_OPTIONS]]

Hadoop でサポートされているファイルシステム上でファイルシステムコマンドを実行します。さまざまな COMMAND_OPTIONS は、ファイルシステムシェルガイドにあります。

envvars

使用法: hdfs envvars

計算された Hadoop 環境変数を表示します。

fetchdt

使用法: hdfs fetchdt <opts> <token_file_path>

COMMAND_OPTION 説明
--webservice NN_Url NN に接続する URL (http または https で始まる)
--renewer name 委任トークンリニューアーの名前
--cancel 委任トークンをキャンセルします
--renew 委任トークンを更新します。委任トークンは、–renewer name オプションを使用してフェッチされている必要があります。
--print 委任トークンを印刷します
token_file_path トークンを保存するファイルパス。

NameNode から委任トークンを取得します。詳細については、fetchdt を参照してください。

fsck

使用法

   hdfs fsck <path>
          [-list-corruptfileblocks |
          [-move | -delete | -openforwrite]
          [-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]
          [-includeSnapshots] [-showprogress]
          [-storagepolicies] [-maintenance]
          [-blockId <blk_Id>] [-replicate]
COMMAND_OPTION 説明
path このパスからチェックを開始します。
-delete 破損したファイルを削除します。
-files チェックされているファイルを出力します。
-files -blocks ブロックレポートを出力します
-files -blocks -locations すべてのブロックの場所を出力します。
-files -blocks -racks データノードの場所のネットワークトポロジを出力します。
-files -blocks -replicaDetails 各レプリカの詳細を出力します。
-files -blocks -upgradedomains すべてのブロックのアップグレードドメインを出力します。
-includeSnapshots 指定されたパスがスナップショット可能なディレクトリを示している場合、またはその下にスナップショット可能なディレクトリがある場合は、スナップショットデータを含めます。
-list-corruptfileblocks 欠落しているブロックとそれらが属するファイルのリストを出力します。
-move 破損したファイルを /lost+found に移動します。
-openforwrite 書き込み用に開かれているファイルを出力します。
-showprogress 非推奨。このスイッチの有無にかかわらず、100 個のファイルが処理されるごとにドットが出力されます。
-storagepolicies ブロックのストレージポリシーの概要を出力します。
-maintenance メンテナンス状態のノードの詳細を出力します。
-blockId ブロックに関する情報を出力します。
-replicate ブロック配置ポリシーを満たすように、誤ってレプリケートされたブロックに対してレプリケーション作業を開始します。

HDFS ファイルシステムチェックユーティリティを実行します。詳細については、fsck を参照してください。

getconf

使用法

   hdfs getconf -namenodes
   hdfs getconf -secondaryNameNodes
   hdfs getconf -backupNodes
   hdfs getconf -journalNodes
   hdfs getconf -includeFile
   hdfs getconf -excludeFile
   hdfs getconf -nnRpcAddresses
   hdfs getconf -confKey [key]
COMMAND_OPTION 説明
-namenodes クラスタ内のネームノードのリストを取得します。
-secondaryNameNodes クラスタ内のセカンダリネームノードのリストを取得します。
-backupNodes クラスタ内のバックアップノードのリストを取得します。
-journalNodes クラスタ内のジャーナルノードのリストを取得します。
-includeFile クラスタに参加できるデータノードを定義するインクルードファイルパスを取得します。
-excludeFile デコミッションする必要があるデータノードを定義する除外ファイルパスを取得します。
-nnRpcAddresses ネームノード RPC アドレスを取得します
-confKey [key] 構成から特定のキーを取得します

構成ディレクトリから、後処理された構成情報を取得します。

groups

使用法: hdfs groups [username ...]

1 つ以上のユーザー名が指定された場合、グループ情報を返します。

httpfs

使用法: hdfs httpfs

HDFS HTTP ゲートウェイである HttpFS サーバーを実行します。

lsSnapshottableDir

使用法: hdfs lsSnapshottableDir [-help]

COMMAND_OPTION 説明
-help ヘルプを表示します

スナップショット可能なディレクトリのリストを取得します。これがスーパーユーザーとして実行されると、すべてのスナップショット可能なディレクトリが返されます。それ以外の場合は、現在のユーザーが所有するディレクトリが返されます。

jmxget

使用法: hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]

COMMAND_OPTION 説明
-help ヘルプを表示します
-localVM ConnectorURL 同じマシンの VM に接続します
-port mbean サーバーポート MBeanサーバーのポートを指定します。指定がない場合は、同じVM内のMBeanサーバーに接続を試みます。
-server MBeanサーバーを指定します(デフォルトはlocalhost)。
-service NameNode|DataNode JMXサービスを指定します。デフォルトはNameNodeです。

サービスからJMX情報をダンプします。

oev

使用法: hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

必須コマンドライン引数

COMMAND_OPTION 説明
-i,--inputFile arg 処理するエディットファイルを指定します。拡張子がxml(大文字小文字を区別しない)の場合はXML形式、それ以外のファイル名の場合はバイナリ形式であることを意味します。
-o,--outputFile arg 出力ファイル名を指定します。指定されたファイルが存在する場合は上書きされます。ファイル形式は-pオプションによって決定されます。

オプションのコマンドライン引数

COMMAND_OPTION 説明
-f,--fix-txids 入力内のトランザクションIDを連番に振り直します。これにより、ギャップや無効なトランザクションIDがなくなります。
-h,--help 使用法情報を表示して終了します。
-r,--recover バイナリエディットログを読み込む際に、リカバリモードを使用します。これにより、エディットログの破損した部分をスキップできます。
-p,--processor arg イメージファイルに適用するプロセッサのタイプを選択します。現在サポートされているプロセッサは、binary(Hadoopが使用するネイティブバイナリ形式)、xml(デフォルト、XML形式)、stats(エディットファイルに関する統計を出力)です。
-v,--verbose より詳細な出力を表示します。入力ファイル名と出力ファイル名を表示し、ファイルに書き込むプロセッサの場合は、画面にも出力します。大きなイメージファイルの場合、処理時間が大幅に増加します(デフォルトはfalse)。

Hadoopオフラインエディットビューア。詳細については、オフラインエディットビューアガイドを参照してください。

oiv

使用法: hdfs oiv [OPTIONS] -i INPUT_FILE

必須コマンドライン引数

COMMAND_OPTION 説明
-i|--inputFile 入力ファイル 処理する入力fsimageファイル(またはReverseXMLプロセッサを使用する場合はXMLファイル)を指定します。

オプションのコマンドライン引数

COMMAND_OPTION 説明
-o,--outputFile 出力ファイル 出力ファイル名を指定します。指定された出力プロセッサがファイルを生成する場合に使用します。指定されたファイルがすでに存在する場合は、警告なく上書きされます。(デフォルトでは標準出力に出力)入力ファイルがXMLファイルの場合は、<outputFile>.md5も作成されます。
-p,--processor プロセッサ イメージファイルに適用するイメージプロセッサを指定します。現在有効なオプションは、Web (デフォルト)、XMLDelimitedFileDistributionReverseXMLです。
-addr アドレス リッスンするアドレス(host:port)を指定します(デフォルトはlocalhost:5978)。このオプションはWebプロセッサで使用します。
-maxSize サイズ 分析するファイルサイズの範囲[0, maxSize]をバイト単位で指定します(デフォルトは128GB)。このオプションはFileDistributionプロセッサで使用します。
-step サイズ 分布の粒度をバイト単位で指定します(デフォルトは2MB)。このオプションはFileDistributionプロセッサで使用します。
-format 出力結果をバイト数ではなく、人間が読める形式でフォーマットします。(デフォルトはfalse)このオプションはFileDistributionプロセッサで使用します。
-delimiter arg Delimitedプロセッサで使用する区切り文字列。
-t,--temp 一時ディレクトリ Delimited出力を生成するための中間結果をキャッシュするための一時ディレクトリを使用します。設定しない場合、Delimitedプロセッサはテキストを出力する前にメモリ内に名前空間を構築します。
-h,--help ツール使用法とヘルプ情報を表示して終了します。

Hadoop 2.4以降のイメージファイル用のHadoopオフラインイメージビューア。詳細については、オフラインイメージビューアガイドを参照してください。

oiv_legacy

使用法: hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

COMMAND_OPTION 説明
-i,--inputFile 入力ファイル 処理する入力fsimageファイルを指定します。
-o,--outputFile 出力ファイル 出力ファイル名を指定します。指定された出力プロセッサがファイルを生成する場合に使用します。指定されたファイルがすでに存在する場合は、警告なく上書きされます。

オプションのコマンドライン引数

COMMAND_OPTION 説明
-p|--processor プロセッサ イメージファイルに適用するイメージプロセッサを指定します。有効なオプションはLs(デフォルト)、XML、Delimited、Indented、FileDistribution、NameDistributionです。
-maxSize サイズ 分析するファイルサイズの範囲[0, maxSize]をバイト単位で指定します(デフォルトは128GB)。このオプションはFileDistributionプロセッサで使用します。
-step サイズ 分布の粒度をバイト単位で指定します(デフォルトは2MB)。このオプションはFileDistributionプロセッサで使用します。
-format 出力結果をバイト数ではなく、人間が読める形式でフォーマットします。(デフォルトはfalse)このオプションはFileDistributionプロセッサで使用します。
-skipBlocks ファイル内の個々のブロックを列挙しません。これにより、非常に大きなファイルがある名前空間では、処理時間と出力ファイルスペースを節約できます。Lsプロセッサは、ファイルサイズを正しく判断するためにブロックを読み込み、このオプションを無視します。
-printToScreen プロセッサの出力を、指定されたファイルだけでなく、コンソールにもパイプします。非常に大きな名前空間では、これにより処理時間が桁違いに増加する可能性があります。
-delimiter arg Delimitedプロセッサと組み合わせて使用すると、デフォルトのタブ区切り文字をargで指定された文字列に置き換えます。
-h|--help ツール使用法とヘルプ情報を表示して終了します。

旧バージョンのHadoop用のHadoopオフラインイメージビューア。詳細については、oiv_legacyコマンドを参照してください。

snapshotDiff

使用法: hdfs snapshotDiff <パス> <fromSnapshot> <toSnapshot>

HDFSスナップショット間の差分を判別します。詳細については、HDFSスナップショットドキュメントを参照してください。

version

使用法: hdfs version

バージョンを出力します。

管理コマンド

Hadoopクラスタの管理者にとって便利なコマンドです。

balancer

使用法

    hdfs balancer
          [-policy <policy>]
          [-threshold <threshold>]
          [-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
          [-include [-f <hosts-file> | <comma-separated list of hosts>]]
          [-source [-f <hosts-file> | <comma-separated list of hosts>]]
          [-blockpools <comma-separated list of blockpool ids>]
          [-idleiterations <idleiterations>]
          [-runDuringUpgrade]
          [-asService]
COMMAND_OPTION 説明
-policy <ポリシー> datanode (デフォルト): 各データノードがバランスが取れていれば、クラスタはバランスが取れているとみなされます。
blockpool: 各データノードの各ブロックプールがバランスが取れていれば、クラスタはバランスが取れているとみなされます。
-threshold <閾値> ディスク容量の割合。これにより、デフォルトの閾値が上書きされます。
-exclude -f <hosts-file> | <ホストのカンマ区切りリスト> 指定されたデータノードをバランサーによるバランス調整から除外します。
-include -f <hosts-file> | <ホストのカンマ区切りリスト> 指定されたデータノードのみをバランサーでバランス調整の対象にします。
-source -f <hosts-file> | <ホストのカンマ区切りリスト> 指定されたデータノードのみをソースノードとして選択します。
-blockpools <ブロックプールIDのカンマ区切りリスト> バランサーは、このリストに含まれるブロックプールでのみ実行されます。
-idleiterations <反復回数> 終了するまでのアイドル状態の最大反復回数。これにより、デフォルトのidleiterations(5)が上書きされます。
-runDuringUpgrade HDFSのアップグレード中にバランサーを実行するかどうか。通常、過負荷状態のマシンでの使用領域には影響しないため、推奨されません。
-asService バランサーを長時間実行サービスとして実行します。
-h|--help ツール使用法とヘルプ情報を表示して終了します。

クラスタバランス調整ユーティリティを実行します。管理者は、再バランス処理を停止するためにCtrl-Cを押すだけです。詳細については、バランサーを参照してください。

blockpoolポリシーはdatanodeポリシーよりも厳密であることに注意してください。

上記のコマンドオプションに加えて、特定のレプリカがバランサー/ムーバーによって移動されないようにするためのピンニング機能が2.7.0から導入されています。このピンニング機能はデフォルトで無効になっており、構成プロパティ「dfs.datanode.block-pinning.enabled」で有効にできます。有効にすると、この機能はcreate()呼び出しで指定された優先ノードに書き込まれたブロックのみに影響します。この機能は、HBaseリージョンサーバーなどのアプリケーションで、データの局所性を維持したい場合に役立ちます。

バランサーを長時間実行サービスとして実行する場合は、デーモンモードで-asServiceパラメータを使用してバランサーを起動してください。これを行うには、次のコマンドを使用します:hdfs --daemon start balancer -asService、または、-asServiceパラメータを指定したsbin/start-balancer.shスクリプトを使用します。

cacheadmin

使用法

hdfs cacheadmin [-addDirective -path <path> -pool <pool-name> [-force] [-replication <replication>] [-ttl <time-to-live>]]
hdfs cacheadmin [-modifyDirective -id <id> [-path <path>] [-force] [-replication <replication>] [-pool <pool-name>] [-ttl <time-to-live>]]
hdfs cacheadmin [-listDirectives [-stats] [-path <path>] [-pool <pool>] [-id <id>]]
hdfs cacheadmin [-removeDirective <id>]
hdfs cacheadmin [-removeDirectives -path <path>]
hdfs cacheadmin [-addPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]]
hdfs cacheadmin [-modifyPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]]
hdfs cacheadmin [-removePool <name>]
hdfs cacheadmin [-listPools [-stats] [<name>]]
hdfs cacheadmin [-help <command-name>]

詳細については、HDFSキャッシュ管理ドキュメントを参照してください。

crypto

使用法

  hdfs crypto -createZone -keyName <keyName> -path <path>
  hdfs crypto -listZones
  hdfs crypto -provisionTrash -path <path>
  hdfs crypto -help <command-name>

詳細については、HDFS透過暗号化ドキュメントを参照してください。

datanode

使用法: hdfs datanode [-regular | -rollback | -rollingupgrade rollback]

COMMAND_OPTION 説明
-regular 通常のデータノードの起動(デフォルト)。
-rollback データノードを以前のバージョンにロールバックします。これは、データノードを停止し、古いHadoopバージョンを配布した後に使用する必要があります。
-rollingupgrade rollback ローリングアップグレード操作をロールバックします。

HDFSデータノードを実行します。

dfsadmin

使用法

    hdfs dfsadmin [-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance] [-slownodes]]
    hdfs dfsadmin [-safemode enter | leave | get | wait | forceExit]
    hdfs dfsadmin [-saveNamespace [-beforeShutdown]]
    hdfs dfsadmin [-rollEdits]
    hdfs dfsadmin [-restoreFailedStorage true |false |check]
    hdfs dfsadmin [-refreshNodes]
    hdfs dfsadmin [-setQuota <quota> <dirname>...<dirname>]
    hdfs dfsadmin [-clrQuota <dirname>...<dirname>]
    hdfs dfsadmin [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>]
    hdfs dfsadmin [-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>]
    hdfs dfsadmin [-finalizeUpgrade]
    hdfs dfsadmin [-rollingUpgrade [<query> |<prepare> |<finalize>]]
    hdfs dfsadmin [-upgrade [query | finalize]
    hdfs dfsadmin [-refreshServiceAcl]
    hdfs dfsadmin [-refreshUserToGroupsMappings]
    hdfs dfsadmin [-refreshSuperUserGroupsConfiguration]
    hdfs dfsadmin [-refreshCallQueue]
    hdfs dfsadmin [-refresh <host:ipc_port> <key> [arg1..argn]]
    hdfs dfsadmin [-reconfig <namenode|datanode> <host:ipc_port|livenodes> <start |status |properties>]
    hdfs dfsadmin [-printTopology]
    hdfs dfsadmin [-refreshNamenodes datanodehost:port]
    hdfs dfsadmin [-getVolumeReport datanodehost:port]
    hdfs dfsadmin [-deleteBlockPool datanode-host:port blockpoolId [force]]
    hdfs dfsadmin [-setBalancerBandwidth <bandwidth in bytes per second>]
    hdfs dfsadmin [-getBalancerBandwidth <datanode_host:ipc_port>]
    hdfs dfsadmin [-fetchImage <local directory>]
    hdfs dfsadmin [-allowSnapshot <snapshotDir>]
    hdfs dfsadmin [-disallowSnapshot <snapshotDir>]
    hdfs dfsadmin [-shutdownDatanode <datanode_host:ipc_port> [upgrade]]
    hdfs dfsadmin [-evictWriters <datanode_host:ipc_port>]
    hdfs dfsadmin [-getDatanodeInfo <datanode_host:ipc_port>]
    hdfs dfsadmin [-metasave filename]
    hdfs dfsadmin [-triggerBlockReport [-incremental] <datanode_host:ipc_port> [-namenode <namenode_host:ipc_port>]]
    hdfs dfsadmin [-listOpenFiles [-blockingDecommission] [-path <path>]]
    hdfs dfsadmin [-help [cmd]]
COMMAND_OPTION 説明
-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance] [-slownodes] 基本的なファイルシステム情報と統計をレポートします。dfsの使用量は、すべてのDNでレプリケーション、チェックサム、スナップショットなどによって使用される生のスペースを測定するため、「du」の使用量とは異なる場合があります。オプションのフラグを使用して、表示されるデータノードのリストをフィルタリングできます。フィルタは、DNの状態(例:live、dead、decommissioning)またはDNの性質(例:スローノード - ピアよりもレイテンシが高いノード)に基づいています。
-safemode enter|leave|get|wait|forceExit セーフモードのメンテナンスコマンド。セーフモードは、ネームノードの状態であり、次のことを行います。
1. 名前空間への変更を受け付けない(読み取り専用)
2. ブロックをレプリケートまたは削除しない。
セーフモードは、ネームノードの起動時に自動的に入り、構成された最小ブロック割合が最小レプリケーション条件を満たすと自動的にセーフモードを終了します。ネームノードが異常を検出すると、その問題が解決するまでセーフモードにとどまります。その異常が意図的な操作の結果である場合、管理者は-safemode forceExitを使用してセーフモードを終了できます。forceExitが必要になる可能性のあるケースは次のとおりです。
1. ネームノードのメタデータが一貫性がない。ネームノードが、メタデータがバンド外で変更され、データ損失を引き起こす可能性があることを検出した場合、ネームノードはforceExit状態になります。その時点で、ユーザーは正しいメタデータファイルでネームノードを再起動するか、forceExit(データ損失が許容される場合)することができます。
2. ロールバックによりメタデータが置き換えられ、まれにネームノードでセーフモードforceExit状態がトリガーされる場合があります。その場合は、-safemode forceExitを発行して続行できます。
セーフモードは手動で入ることもできますが、その場合は手動でのみオフにすることができます。
-saveNamespace [-beforeShutdown] 現在の名前空間をストレージディレクトリに保存し、エディットログをリセットします。セーフモードが必要です。「beforeShutdown」オプションを指定すると、ネームノードは、時間ウィンドウ(構成可能なチェックポイント期間数)内にチェックポイントが実行されていない場合にのみチェックポイントを実行します。これは通常、潜在的なfsimage / editlogの破損を防ぐために、ネームノードをシャットダウンする前に使用されます。
-rollEdits アクティブなネームノードのエディットログをロールします。
-restoreFailedStorage true|false|check このオプションは、失敗したストレージレプリカを復元するための自動試行をオン/オフにします。失敗したストレージが再び使用可能になると、システムはチェックポイント中に編集やfsimageの復元を試みます。 「check」オプションは現在の設定を返します。
-refreshNodes ホストファイルと除外ファイルを再読み込みして、ネームノードへの接続が許可されているデータノードのセットと、デコミッションまたは再コミッションされるデータノードのセットを更新します。
-setQuota <クォータ> <dirname>…<dirname> 詳細については、HDFSクォータガイドを参照してください。
-clrQuota <dirname>…<dirname> 詳細については、HDFSクォータガイドを参照してください。
-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>…<dirname> 詳細については、HDFSクォータガイドを参照してください。
-clrSpaceQuota [-storageType <storagetype>] <dirname>…<dirname> 詳細については、HDFSクォータガイドを参照してください。
-finalizeUpgrade HDFSのアップグレードを完了します。データノードは以前のバージョンの作業ディレクトリを削除し、続いてネームノードも同様に削除します。これにより、アップグレードプロセスが完了します。
-rollingUpgrade [<query>|<prepare>|<finalize>] 詳細については、ローリングアップグレードのドキュメントを参照してください。
-upgrade query|finalize 現在のアップグレードステータスを照会します。
HDFSのアップグレードを完了します(-finalizeUpgradeと同じ)。
-refreshServiceAcl サービスレベルの承認ポリシーファイルをリロードします。
-refreshUserToGroupsMappings ユーザーとグループのマッピングを更新します。
-refreshSuperUserGroupsConfiguration スーパーユーザープロキシグループのマッピングを更新します。
-refreshCallQueue 設定からコールキューをリロードします。
-refresh <host:ipc_port> <key> [arg1..argn] <host:ipc_port>上の<key>で指定されたリソースのランタイムリフレッシュをトリガーします。他のすべての引数はホストに送信されます。
-reconfig <datanode |namenode> <host:ipc_port|livenodes> <start|status|properties> 再構成を開始するか、進行中の再構成のステータスを取得するか、再構成可能なプロパティのリストを取得します。2番目のパラメータはノードタイプを指定します。3番目のパラメータはホストアドレスを指定します。startまたはstatusの場合、datanodeは3番目のパラメータとしてlivenodesをサポートしており、これによりすべてのライブデータノードで再構成を開始または取得します。
-printTopology ネームノードによって報告されたラックとそのノードのツリーを出力します。
-refreshNamenodes datanodehost:port 指定されたデータノードに対して、構成ファイルをリロードし、削除されたブロックプールへのサービス提供を停止し、新しいブロックプールへのサービス提供を開始します。
-getVolumeReport datanodehost:port 指定されたデータノードについて、ボリュームレポートを取得します。
-deleteBlockPool datanode-host:port blockpoolId [force] forceが渡された場合、指定されたデータノード上の指定されたブロックプールIDのブロックプールディレクトリとその内容が削除されます。それ以外の場合、ディレクトリが空の場合にのみ削除されます。データノードがブロックプールをまだ提供している場合、コマンドは失敗します。データノードのブロックプールサービスをシャットダウンするには、refreshNamenodesを参照してください。
-setBalancerBandwidth <bandwidth in bytes per second> HDFSブロックのバランシング中に各データノードが使用するネットワーク帯域幅を変更します。 <bandwidth>は、各データノードで使用される1秒あたりの最大バイト数です。この値は、dfs.datanode.balance.bandwidthPerSecパラメータを上書きします。注:新しい値はDataNodeでは永続的ではありません。
-getBalancerBandwidth <datanode_host:ipc_port> 指定されたデータノードのネットワーク帯域幅(1秒あたりのバイト単位)を取得します。これは、HDFSブロックのバランシング中にデータノードで使用される最大ネットワーク帯域幅です。
-fetchImage <local directory> NameNodeから最新のfsimageをダウンロードし、指定されたローカルディレクトリに保存します。
-allowSnapshot <snapshotDir> ディレクトリのスナップショットの作成を許可します。操作が正常に完了すると、ディレクトリはスナップショット可能になります。詳細については、HDFSスナップショットのドキュメントを参照してください。
-disallowSnapshot <snapshotDir> ディレクトリのスナップショットの作成を禁止します。ディレクトリのすべてのスナップショットは、スナップショットを禁止する前に削除する必要があります。詳細については、HDFSスナップショットのドキュメントを参照してください。
-shutdownDatanode <datanode_host:ipc_port> [upgrade] 指定されたデータノードのシャットダウンリクエストを送信します。詳細については、ローリングアップグレードのドキュメントを参照してください。
-evictWriters <datanode_host:ipc_port> データノードにブロックを書き込んでいるすべてのクライアントを強制退去させます。これは、低速なライターのためにデコミッションがハングアップしている場合に役立ちます。
-getDatanodeInfo <datanode_host:ipc_port> 指定されたデータノードに関する情報を取得します。詳細については、ローリングアップグレードのドキュメントを参照してください。
-metasave filename Namenodeのプライマリデータ構造を、hadoop.log.dirプロパティで指定されたディレクトリのfilenameに保存します。filenameが存在する場合は上書きされます。filenameには、次のそれぞれについて1行が含まれます。
1. Namenodeとハートビートしているデータノード
2. 複製を待機しているブロック
3. 現在複製されているブロック
4. 削除を待機しているブロック
-triggerBlockReport [-incremental] <datanode_host:ipc_port> [-namenode <namenode_host:ipc_port>] 指定されたデータノードのブロックレポートをトリガーします。 「incremental」が指定されている場合、増分ブロックレポートになります。それ以外の場合は、フルブロックレポートになります。「-namenode <namenode_host:ipc_port>」が指定されている場合、指定されたネームノードにのみブロックレポートを送信します。
-listOpenFiles [-blockingDecommission] [-path <path>] 現在NameNodeによって管理されているすべてのオープンファイルを、それらにアクセスしているクライアント名とクライアントマシンとともにリストします。オープンファイルリストは、指定されたタイプとパスでフィルタリングされます。 DataNodeのデコミッションをブロックしているオープンファイルのみをリストする場合は、-blockingDecommissionオプションを追加します。
-help [cmd] 指定されたコマンドのヘルプを表示します。何も指定されていない場合は、すべてのコマンドのヘルプを表示します。

HDFS dfsadminクライアントを実行します。

dfsrouter

使用法:hdfs dfsrouter

DFSルーターを実行します。詳細については、ルーターを参照してください。

dfsrouteradmin

使用法

  hdfs dfsrouteradmin
      [-add <source> <nameservice1, nameservice2, ...> <destination> [-readonly] [-faulttolerant] [-order HASH|LOCAL|RANDOM|HASH_ALL] -owner <owner> -group <group> -mode <mode>]
      [-update <source> [<nameservice1, nameservice2, ...> <destination>] [-readonly true|false] [-faulttolerant true|false] [-order HASH|LOCAL|RANDOM|HASH_ALL] -owner <owner> -group <group> -mode <mode>]
      [-rm <source>]
      [-ls [-d] <path>]
      [-getDestination <path>]
      [-setQuota <path> -nsQuota <nsQuota> -ssQuota <quota in bytes or quota size string>]
      [-setStorageTypeQuota <path> -storageType <storage type> <quota in bytes or quota size string>]
      [-clrQuota <path>]
      [-clrStorageTypeQuota <path>]
      [-safemode enter | leave | get]
      [-nameservice disable | enable <nameservice>]
      [-getDisabledNameservices]
      [-refresh]
      [-refreshRouterArgs <host:ipc_port> <key> [arg1..argn]]
      [-refreshSuperUserGroupsConfiguration]
      [-refreshCallQueue]
COMMAND_OPTION 説明
-add source nameservices destination マウントテーブルエントリを追加するか、存在する場合は更新します。
-update source nameservices destination マウントテーブルエントリの属性を更新します。
-rm source 指定されたパスのマウントポイントを削除します。
-ls [-d] path 指定されたパスの下のマウントポイントをリストします。詳細リストを取得するには、-dパラメータを指定します。
-getDestination path ファイルが存在する、または作成されるべきサブクラスターを取得します。
-setQuota path -nsQuota nsQuota -ssQuota ssQuota 指定されたパスのクォータを設定します。クォータの詳細については、HDFSクォータガイドを参照してください。
-setStorageTypeQuota path -storageType storageType stQuota 指定されたパスのストレージタイプクォータを設定します。クォータの詳細については、HDFSクォータガイドを参照してください。
-clrQuota path 指定されたマウントポイントのクォータをクリアします。クォータの詳細については、HDFSクォータガイドを参照してください。
-clrStorageTypeQuota path 指定されたマウントポイントのストレージタイプクォータをクリアします。クォータの詳細については、HDFSクォータガイドを参照してください。
-safemode enter leave get ルーターがセーフモードに入るか出るかを手動で設定します。オプションgetは、ルーターがセーフモード状態であるかどうかを確認するために使用されます。
-nameservice disable enable nameservice フェデレーションからネームサービスを無効/有効にします。無効にすると、リクエストはそのネームサービスに送信されません。
-getDisabledNameservices フェデレーションで無効になっているネームサービスを取得します。
-refresh 接続されたルーターのマウントテーブルキャッシュを更新します。
refreshRouterArgs <host:ipc_port> <key> [arg1..argn] <host:ipc_port>の<key>で指定されたリソースのランタイムリフレッシュをトリガーします。たとえば、ホワイトリストチェックを有効にするには、ルーターサーバーを再起動するのではなく、refreshコマンドを送信するだけで済みます。
-refreshSuperUserGroupsConfiguration ルーターでスーパーユーザープロキシグループのマッピングを更新します。
-refreshCallQueue ルーターの設定からコールキューをリロードします。

ルーターベースのフェデレーションを管理するためのコマンドです。詳細については、マウントテーブルの管理を参照してください。

diskbalancer

使用法

   hdfs diskbalancer
     [-plan <datanode> -fs <namenodeURI>]
     [-execute <planfile>]
     [-query <datanode>]
     [-cancel <planfile>]
     [-cancel <planID> -node <datanode>]
     [-report -node <file://> | [<DataNodeID|IP|Hostname>,...]]
     [-report -node -top <topnum>]
COMMAND_OPTION 説明
-plan ディスクバランサープランを作成します
-execute データノードで指定されたプランを実行します
-query データノードから現在のディスクバランサーステータスを取得します
-cancel 実行中のプランをキャンセルします
-report データノードからボリューム情報を報告します

ディスクバランサーCLIを実行します。このコマンドの詳細については、HDFSディスクバランサーを参照してください。

ec

使用法

   hdfs ec [generic options]
     [-setPolicy -policy <policyName> -path <path>]
     [-getPolicy -path <path>]
     [-unsetPolicy -path <path>]
     [-listPolicies]
     [-addPolicies -policyFile <file>]
     [-listCodecs]
     [-enablePolicy -policy <policyName>]
     [-disablePolicy -policy <policyName>]
     [-removePolicy -policy <policyName>]
     [-verifyClusterSetup -policy <policyName>...<policyName>]
     [-help [cmd ...]]
COMMAND_OPTION 説明
-setPolicy 指定されたイレイジャーコーディングポリシーをディレクトリに設定します
-getPolicy 指定されたパスに関するイレイジャーコーディングポリシー情報を取得します
-unsetPolicy ディレクトリに対する以前の "setPolicy" への呼び出しによって設定されたイレイジャーコーディングポリシーを解除します
-listPolicies サポートされているすべてのイレイジャーコーディングポリシーをリストします
-addPolicies イレイジャーコーディングポリシーのリストを追加します
-listCodecs システムでサポートされているイレイジャーコーディングコーデックとコーダーのリストを取得します
-enablePolicy システムでイレイジャーコーディングポリシーを有効にします
-disablePolicy システムでイレイジャーコーディングポリシーを無効にします
-removePolicy システムからイレイジャーコーディングポリシーを削除します
-verifyClusterSetup クラスターセットアップがイレイジャーコーディングポリシーのリストをサポートできるかどうかを確認します

ErasureCoding CLIを実行します。このコマンドの詳細については、HDFS ErasureCodingを参照してください。

haadmin

使用法

    hdfs haadmin -transitionToActive <serviceId> [--forceactive]
    hdfs haadmin -transitionToStandby <serviceId>
    hdfs haadmin -transitionToObserver <serviceId>
    hdfs haadmin -failover [--forcefence] [--forceactive] <serviceId> <serviceId>
    hdfs haadmin -getServiceState <serviceId>
    hdfs haadmin -getAllServiceState
    hdfs haadmin -checkHealth <serviceId>
    hdfs haadmin -help <command>
COMMAND_OPTION 説明
-checkHealth 指定されたNameNodeの正常性を確認します
-failover 2つのNameNode間でフェイルオーバーを開始します
-getServiceState 指定されたNameNodeがアクティブかスタンバイかを判断します
-getAllServiceState すべてのNameNodeの状態を返します
-transitionToActive 指定されたNameNodeの状態をアクティブに遷移させます(警告:フェンシングは行われません)
-transitionToStandby 指定されたNameNodeの状態をスタンバイに遷移させます(警告:フェンシングは行われません)
-transitionToObserver 指定されたNameNodeの状態をオブザーバーに遷移させます(警告:フェンシングは行われません)
-help [cmd] 指定されたコマンドのヘルプを表示します。何も指定されていない場合は、すべてのコマンドのヘルプを表示します。

このコマンドの詳細については、NFSを使用したHDFS HAまたはQJMを使用したHDFS HAを参照してください。

journalnode

使用法:hdfs journalnode

このコマンドは、QJMを使用したHDFS HAで使用するためのジャーナルノードを起動します。

mover

使用法:hdfs mover [-p <files/dirs> | -f <local file name>]

COMMAND_OPTION 説明
-f <local file> 移行するHDFSファイル/ディレクトリのリストを含むローカルファイルを指定します。
-p <files/dirs> 移行するHDFSファイル/ディレクトリのスペースで区切られたリストを指定します。

データ移行ユーティリティを実行します。詳細については、Moverを参照してください。

-pオプションと-fオプションの両方が省略された場合、デフォルトのパスはルートディレクトリであることに注意してください。

さらに、2.7.0以降では、バランサー/ムーバーによって特定のレプリカが移動されないようにするためのピンニング機能が導入されています。このピンニング機能はデフォルトで無効になっており、構成プロパティ"dfs.datanode.block-pinning.enabled"で有効にできます。有効にすると、この機能はcreate()呼び出しで指定された優先ノードに書き込まれたブロックにのみ影響します。この機能は、HBaseリージョンサーバーなどのアプリケーションで、データローカリティを維持したい場合に役立ちます。

namenode

使用法

  hdfs namenode [-backup] |
          [-checkpoint] |
          [-format [-clusterid cid ] [-force] [-nonInteractive] ] |
          [-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
          [-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
          [-rollback] |
          [-rollingUpgrade <rollback |started> ] |
          [-importCheckpoint] |
          [-initializeSharedEdits] |
          [-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] ] |
          [-recover [-force] ] |
          [-metadataVersion ]
COMMAND_OPTION 説明
-backup バックアップノードを開始します。
-checkpoint チェックポイントノードを開始します。
-format [-clusterid cid] 指定されたNameNodeをフォーマットします。NameNodeを起動し、フォーマットしてからシャットダウンします。名前ディレクトリが既に存在し、クラスターの再フォーマットが無効になっている場合は、NameNodeFormatExceptionをスローします。
-upgrade [-clusterid cid] [-renameReserved <k-vペア>] 新しいHadoopバージョンを配布した後、NameNodeはアップグレードオプション付きで起動する必要があります。
-upgradeOnly [-clusterid cid] [-renameReserved <k-vペア>] 指定されたNameNodeをアップグレードしてからシャットダウンします。
-rollback NameNodeを以前のバージョンにロールバックします。これは、クラスターを停止し、古いHadoopバージョンを配布した後に使用する必要があります。
-rollingUpgrade <rollback|started> 詳細については、ローリングアップグレードに関するドキュメントを参照してください。
-importCheckpoint チェックポイントディレクトリからイメージをロードし、現在のディレクトリに保存します。チェックポイントディレクトリは、プロパティdfs.namenode.checkpoint.dirから読み取られます。
-initializeSharedEdits 新しい共有エディットディレクトリをフォーマットし、スタンバイNameNodeが起動できるように十分なエディットログセグメントをコピーします。
-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] アクティブなNameNodeから最新の名前空間スナップショットをコピーすることにより、スタンバイNameNodeのストレージディレクトリをブートストラップできるようにします。これは、HAクラスターを最初に構成するときに使用されます。-forceオプションまたは-nonInteractiveオプションは、namenode -formatコマンドで説明されているのと同じ意味を持ちます。-skipSharedEditsCheckオプションは、アクティブ上の最後のチェックポイントから起動するために、共有ディレクトリに十分なエディットがすでにあることを確認するエディットチェックをスキップします。
-recover [-force] 破損したファイルシステム上の失われたメタデータを復元します。詳細については、HDFSユーザーガイドを参照してください。
-metadataVersion 構成されたディレクトリが存在することを確認し、ソフトウェアとイメージのメタデータバージョンを出力します。

namenodeを実行します。アップグレードとロールバックの詳細については、アップグレードとロールバックを参照してください。

nfs3

使用法: hdfs nfs3

このコマンドは、HDFS NFS3サービスで使用するためのNFS3ゲートウェイを起動します。

portmap

使用法: hdfs portmap

このコマンドは、HDFS NFS3サービスで使用するためのRPCポートマップを起動します。

secondarynamenode

使用法: hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]

COMMAND_OPTION 説明
-checkpoint [force] EditLogのサイズが>= fs.checkpoint.sizeの場合、SecondaryNameNodeをチェックポイントします。forceを使用すると、EditLogのサイズに関係なくチェックポイントします。
-format 起動時にローカルストレージをフォーマットします。
-geteditsize NameNode上のチェックポイントされていないトランザクションの数を出力します。

HDFSセカンダリネームノードを実行します。詳細については、セカンダリネームノードを参照してください。

storagepolicies

使用法

  hdfs storagepolicies
      [-listPolicies]
      [-setStoragePolicy -path <path> -policy <policy>]
      [-getStoragePolicy -path <path>]
      [-unsetStoragePolicy -path <path>]
      [-satisfyStoragePolicy -path <path>]
      [-isSatisfierRunning]
      [-help <command-name>]

すべてのストレージポリシーを一覧表示/取得/設定/設定解除します。詳細については、HDFSストレージポリシードキュメントを参照してください。

zkfc

使用法: hdfs zkfc [-formatZK [-force] [-nonInteractive]]

COMMAND_OPTION 説明
-formatZK Zookeeperインスタンスをフォーマットします。-force:znodeが存在する場合、znodeをフォーマットします。-nonInteractive:znodeが存在する場合、-forceオプションが指定されていない限り、znodeのフォーマットを中止します。
-h ヘルプを表示

このコマンドは、QJMを使用したHDFS HAで使用するためのZookeeperフェイルオーバーコントローラープロセスを起動します。

デバッグコマンド

管理者がHDFSの問題をデバッグするのに役立つ便利なコマンド。これらのコマンドは、上級ユーザー専用です。

verifyMeta

使用法: hdfs debug verifyMeta -meta <メタデータファイル> [-block <ブロックファイル>]

COMMAND_OPTION 説明
-block ブロックファイル データノードのローカルファイルシステム上のブロックファイルの絶対パスを指定するオプションのパラメーター。
-meta メタデータファイル データノードのローカルファイルシステム上のメタデータファイルの絶対パス。

HDFSメタデータとブロックファイルを検証します。ブロックファイルが指定されている場合は、メタデータファイルのチェックサムがブロックファイルと一致することを確認します。

computeMeta

使用法: hdfs debug computeMeta -block <ブロックファイル> -out <出力メタデータファイル>

COMMAND_OPTION 説明
-block ブロックファイル データノードのローカルファイルシステム上のブロックファイルの絶対パス。
-out 出力メタデータファイル ブロックファイルからチェックサム計算結果を保存する出力メタデータファイルの絶対パス。

ブロックファイルからHDFSメタデータを計算します。ブロックファイルが指定されている場合は、ブロックファイルからチェックサムを計算し、指定された出力メタデータファイルに保存します。

注意: 自身の責任で使用してください! ブロックファイルが破損していて、そのメタファイルを上書きすると、HDFSでは「良好」と表示されますが、データを読み取ることはできません。最後の手段としてのみ使用し、ブロックファイルが良好であることを100%確信している場合に使用してください。

recoverLease

使用法: hdfs debug recoverLease -path <パス> [-retries <再試行回数>]

COMMAND_OPTION 説明
[-path パス] リースの回復対象となるHDFSパス。
[-retries 再試行回数] クライアントがrecoverLeaseの呼び出しを再試行する回数。デフォルトの再試行回数は1です。

指定されたパスのリースを回復します。パスはHDFSファイルシステム上に存在する必要があります。デフォルトの再試行回数は1です。

verifyEC

使用法: hdfs debug verifyEC -file <ファイル>

COMMAND_OPTION 説明
[-file ECファイル] 検証対象のHDFS ECファイル。

イレージャーコーディングされたファイルでのイレージャーコーディングの正確性を検証します。

ViewFsOverloadSchemeを使用したdfsadmin

使用法: hdfs dfsadmin -fs <子fsマウントリンクURI> <dfsadminコマンドオプション>

COMMAND_OPTION 説明
-fs 子fsマウントリンクURI ViewFSの世界での子ファイルシステムへの論理マウントリンクパス。このURIは通常、fs.defaultFSがプレフィックスとして付加されたソースマウントリンクとして形成されます。これは実際の子ファイルシステムURIではなく、実際の子ファイルシステムを指す論理マウントリンクURIであることに注意してください。

コマンド使用例: hdfs dfsadmin -fs hdfs://nn1 -safemode enter

ViewFsOverloadSchemeでは、ViewFsOverloadSchemeガイドに示すように、複数の子ファイルシステムをマウントポイントマッピングとして持つことができます。ここで、-fsオプションはdfsadminによってサポートされるオプションの汎用パラメーターです。ユーザーが子ファイルシステムの1つでコマンドを実行する場合は、そのファイルシステムのマウントマッピングリンクURIを-fsオプションに渡す必要があります。マウントリンク構成とdfsadminコマンドの例を次に示します。

マウントリンク

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://MyCluster1</value>
</property>

<property>
  <name>fs.viewfs.mounttable.MyCluster1./user</name>
  <value>hdfs://MyCluster2/user</value>
  <!-- mount table name : MyCluster1
       mount link mapping: hdfs://MyCluster1/user --> hdfs://MyCluster2/user
       mount link path: /user
       mount link uri: hdfs://MyCluster1/user
       mount target uri for /user: hdfs://MyCluster2/user -->
</property>

ユーザーがhdfs://MyCluster2/と通信したい場合は、-fsオプション(-fs hdfs://MyCluster1/user)を渡すことができます。 /userはクラスターhdfs://MyCluster2/userにマッピングされているため、dfsadminは渡された(-fs hdfs://MyCluster1/user)をターゲットfs(hdfs://MyCluster2/user)に解決します。この方法で、ユーザーはViewFsOverloadScheme内のすべてのhdfs子ファイルシステムにアクセスできます。-fsオプションが指定されていない場合、構成されたfs.defaultFS URIで実行されているクラスターがある場合は、構成されたfs.defaultFSクラスターへの接続が試行されます。