すべての 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 (デフォルト)、XML、Delimited、FileDistribution、ReverseXMLです。 |
-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ファイル。 |
イレージャーコーディングされたファイルでのイレージャーコーディングの正確性を検証します。
使用法: 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クラスターへの接続が試行されます。