[HDFS Manual] CH3 HDFS Commands Guide

HDFS Commands Guide

HDFS Commands Guide. 1html

3.1概述... 1node

3.2 用戶命令... 1web

3.2.1 classpath. 1apache

3.2.2 dfs. 1bootstrap

3.2.3 envvars. 1安全

3.2.4 fetchdt. 1網絡

3.2.5 fsck. 1數據結構

3.2.6 getconf. 1app

3.2.7 groups. 1dom

3.2.8 httpfs. 1

3.2.9 lsSnapshottableDir. 1

3.2.10 jmxget. 1

3.2.11 oev. 1

3.2.12 oiv. 1

3.2.13 oiv_legacy. 1

3.2.14 snapshotDiff. 1

3.2.15 version. 1

3.3 管理命令... 1

3.3.1 balancer. 1

3.3.2 cacheadmin. 1

3.3.3 crypto. 1

3.3.4 datanode. 1

3.3.5 dfsadmin. 1

3.3.6 diskbalancer. 1

3.3.7 ec. 1

3.3.8 haadmin. 1

3.3.9 journalnode. 1

3.3.10 mover. 1

3.3.11 namenode. 1

3.3.12 nfs3. 1

3.3.13 portmap. 1

3.3.14 secondarynamenode. 1

3.3.15 storagepolicies. 1

3.3.16 zkfc. 1

3.4 Debug command. 1

3.4.1 verifyMeta. 1

3.4.2 computeMeta. 1

3.4.3 recoverLesse. 1

 

3.1概述

全部HDFS命令都是用hdfs調用。運行hdfs能夠輸出全部的命令。

語法:hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]

Hadoop 有一些通用的選項:

COMMAND_OPTIONS

Description

SHELL_OPTIONS

Shell命令選項集合. 命令文檔 Commands Manual 

GENERIC_OPTIONS

支持多個命令的選項,haddoop命令文檔 Commands Manual

COMMAND COMMAND_OPTIONS

這種命令及他們的選項,包括了 User Commands  Administration Commands

3.2 用戶命令

用於用戶hadoop cluster

3.2.1 classpath

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

COMMAND_OPTION

Description

--glob

expand wildcards

--jar path

Classpath指向一個jar

-h--help

print help

打印classpath須要獲取hadoopjar包而且須要的lib。若是調用不帶參數,會輸出命令腳本setupclasspathclasspath包含了通配符。其餘的選項打印classpath通配符擴展後的classpath,或者把classpath寫入到jar包的manifest

3.2.2 dfs

語法:hdfs dfs [COMMAND [COMMAND_OPTIONS]]

hadoop支持的文件系統上,運行文件系統命令。各類COMMAND_OPTIONS能夠在 File System Shell Guide 查看。

3.2.3 envvars

語法:hdfs envvars

輸出hadoop環境變量

3.2.4 fetchdt

語法hdfs fetchdt <opts> <token_file_path>

COMMAND_OPTION

Description

--webservice NN_Url

鏈接到nnurl(starts with http or https)

--renewer name

刷新nameoftoken

--cancel

取消token

--renew

刷新tokentoken必須已經經過fetched–renewername獲取

--print

打印token

token_file_path

保存token的路徑

namenode 獲取token,具體查看:fetchdt

3.2.5 fsck

  hdfs fsck <path>

          [-list-corruptfileblocks |

          [-move | -delete | -openforwrite]

          [-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]

          [-includeSnapshots] [-showprogress]

          [-storagepolicies] [-maintenance]

          [-blockId <blk_Id>]

COMMAND_OPTION

Description

path

開始檢查這個路徑

-delete

刪除損壞的文件

-files

打印已經被檢查的文件

-files -blocks

打印blockreport

-files -blocks -locations

打印每一個block的位置

-files -blocks -racks

打印datanode位置的拓撲

-files -blocks -replicaDetails

打印每一個副本的細節

-files -blocks -upgradedomains

打印每一個blockupgradedomain

-includeSnapshots

若是path或者子目錄代表了快照表目錄,快照表目錄包含了快照數據

-list-corruptfileblocks

打印丟失的塊或者文件

-move

移動損壞的文件到/lost+found

-openforwrite

以寫入方式打開的文件

-showprogress

Print out dots for progress in output. Default is OFF (no progress).

-storagepolicies

輸出塊的存儲策略

-maintenance

輸出維護的node狀態細節

-blockId

輸出塊的信息

運行HDFS文件系統檢查工具,具體查看: fsck

3.2.6 getconf

   hdfs getconf -namenodes

   hdfs getconf -secondaryNameNodes

   hdfs getconf -backupNodes

   hdfs getconf -includeFile

   hdfs getconf -excludeFile

   hdfs getconf -nnRpcAddresses

   hdfs getconf -confKey [key]

COMMAND_OPTION

Description

-namenodes

獲取集羣的namenodes

-secondaryNameNodes

獲取集羣的secondarynamenodes

-backupNodes

獲取集羣的backupnodes

-includeFile

容許Datanode join到集羣的文件列表

-excludeFile

不容許datanodejoin到集羣的文件列表

-nnRpcAddresses

namenode rpc 地址

-confKey [key]

從配置文件中獲取指定的key

3.2.7 groups

hdfs groups [username ...]

返回給定用戶或多個用戶的group信息。

3.2.8 httpfs

hdfs httpfs

啓動httpfs服務,HDFS HTTP網關

3.2.9 lsSnapshottableDir

hdfs lsSnapshottableDir [-help]

獲取snapshottable目錄。當以super user用戶運行,會返回全部的snapshottable目錄。不然範圍屬於該用戶全部的目錄。

3.2.10 jmxget

hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]

COMMAND_OPTION

Description

-help

print help

-localVM ConnectorURL

connect to the VM on the same machine

-port mbean server port

specify mbean server port, if missing it will try to connect to MBean Server in the same VM

-server

specify mbean server (localhost by default)

-service NameNode|DataNode

specify jmx service. NameNode by default.

Dump 服務的jmx信息

3.2.11 oev

hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

輸入:

COMMAND_OPTION

Description

-i,--inputFile arg

edits file to process, xml 後綴表示xml文件,任何其餘文件名錶示bianry文件

-o,--outputFile arg

輸出的文件名. 若是文件已經存在,那麼就會被覆蓋,文件的格式由-p決定。

選項:

COMMAND_OPTION

Description

-f,--fix-txids

從新編號事務id,修復gap或者不可用的事務id

-h,--help

顯示使用的信息而且退出

-r,--recover

當讀取binary edit log,使用恢復模式。可讓你有機會跳過editlog的錯誤部分

-p,--processor arg

選擇使用什麼處理器來應用imagefile,當前支持的處理器:bianry(hadoop使用的binary文件格式)
xmlstats(輸出 edit file 統計信息)

-v,--verbose

Verbose輸出,打印輸入和輸出的文件,對於處理器輸出到文件的也會輸出到屏幕。
large image文件會動態的增長處理時間

Hadoop offline editlog查看器。具體查看: Offline Edits Viewer Guide 

3.2.12 oiv

hdfs oiv [OPTIONS] -i INPUT_FILE

輸入:

COMMAND_OPTION

Description

-i|--inputFile input file

指定輸入的fsimage文件

選項:

COMMAND_OPTION

Description

-o,--outputFile output file

指定output文件名,若是指定的輸出一個,若是文件已經存在就會被覆蓋。
若是輸入的是xml文件會建立一個md
5

-p,--processor processor

指定一個image處理器應用image文件。當前能夠用的選項web(默認)xmldelimited
filedistributionReverseXML

-addr address

指定監聽的地址. (localhost:5978 by default).選項使用webprocessor

-maxSize size

指定被分析的文件的大小範圍[0-maxsize],這個選項用來FileDistribution processor

-step size

指定分佈的粒度默認爲2MB,用於FileDistribution processor

-format

格式化輸出的結果爲可讀的方式,而不是一些字節。默認false。用與FileDistribution processor

-delimiter arg

String邊界,用於Delimited processor

-t,--temp temporary dir

使用臨時目錄來保存中間結果來生成Delimited輸出。若是沒有set.
Delimited processor 在輸出文本前在在內存中構造namespace

-h,--help

輸出幫助

Hadoop offline image viewer查看image文件,查看: Offline Image Viewer Guide

3.2.13 oiv_legacy

hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

COMMAND_OPTION

Description

-i,--inputFile input file

指定input fsimage 文件處理

-o,--outputFile output file

指定輸出的文件,若是指定就會輸出一個. 若是文件已經存在會被覆蓋.

選項

COMMAND_OPTION

Description

-p|--processor processor

指定image處理器來應用image文件。選項Ls默認,XMLDelimited,indented,filedistribution
namedistribution

-maxSize size

指定被分析的文件的大小範圍[0-maxsize],這個選項用來FileDistribution processor

-step size

指定分佈的粒度默認爲2MB,用於FileDistribution processor

-format

格式化輸出的結果爲可讀的方式,而不是一些字節。默認false。用與FileDistribution processor

-skipBlocks

文件中不枚舉不可用不可用的block。會減小處理時間和輸出文件大小。
Ls處理器讀取block來正確的決定文件大小並忽略這個選項。

-printToScreen

和輸出的文件的內容同樣,輸出到屏幕。在極巨大的命名空間,會增長處理時間。

-delimiter arg

當使用delimited處理器,替換默認的tab分隔爲參數

-h|--help

輸出幫助信息

老的hadoophodoop offline image viewer

3.2.14 snapshotDiff

hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>

肯定HDFS快照的不一樣。

3.2.15 version

Hdfs version

輸出版本號

3.3 管理命令

Hadoop cluster的管理命令

3.3.1 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]

COMMAND_OPTION

Description

-policy <policy>

datanode (default): 若是datanode是均衡的,那麼集羣就是均衡的.
blockpool: 若是blockpool在每一個datanode上是均衡的,集羣就是均衡的

-threshold <threshold>

磁盤容量的百分比。會覆蓋默認的閥值

-exclude -f <hosts-file> | <comma-separated list of hosts>

均衡排除這些datanode

-include -f <hosts-file> | <comma-separated list of hosts>

只有這些datanode會被均衡

-source -f <hosts-file> | <comma-separated list of hosts>

指定datanode做爲sourcenode

-blockpools <comma-separated list of blockpool ids>

均衡器只會運行在這些blockpool

-idleiterations <iterations>

退出前最大的限制迭代。默認是5

-runDuringUpgrade

是否在HDFS更新的時候進行均衡。一般是不會的,在空間被過分利用的設備上不會有影響

-h|--help

輸出幫助

運行集羣均衡器。管理員能夠簡單的ctlr+c關閉從新均衡。具體能夠看 Balancer

Blockpool策略比datanode更加嚴格。

在上面說的選項以外,2.7開始加入了pinning功能來防止均衡器移動副本。這個pinning特性默認是禁用的。能夠經過dfs.datanode.block-pinning.enabled啓動。當啓動,這個特性只會影響寫入到favored node,經過create()被調用。當想要在本地維護數據的話這個特性頗有用,特別是HBase Regionserver的應用。

3.3.2 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 Cache Administration Documentation 

3.3.3 crypto

  hdfs crypto -createZone -keyName <keyName> -path <path>

  hdfs crypto -listZones

  hdfs crypto -provisionTrash -path <path>

  hdfs crypto -help <command-name>

查看: HDFS Transparent Encryption Documentation

3.3.4 datanode

hdfs datanode [-regular | -rollback | -rollingupgrade rollback]

COMMAND_OPTION

Description

-regular

正常啓動datanode(default).

-rollback

回退datanode到以前的版本

-rollingupgrade rollback

回滾更新操做.

3.3.5 dfsadmin

hdfs dfsadmin [-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance]]

    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 [-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> <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>]

    hdfs dfsadmin [-listOpenFiles]

hdfs dfsadmin [-help [cmd]]

COMMAND_OPTION

Description

-report [-live] [-dead] [-decommissioning] [-enteringmaintenance][-inmaintenance]

報告文件系統信息基本信息和統計信息,dfs使用和du不一樣,由於在全部datanode上測量replicationchecksumshapshots等等的原始空間。選項能夠過濾顯示的datanode

-safemode enter|leave|get|wait|forceExit

Safe mode維護命令. Safe modenamenode的狀態

1. 不能修改namespace

2.不能複製,刪除 blocks. 

Safemodenamenode啓動的時候自動進入,,而且當配置的最小block安全比率知足以後會自動離開。若是namenode發現任何異常就會徘徊在safemode,直到問題解決。若是異常是故意爲之的話,能夠用命令強制退出safemode,如下狀況可能要強制退出:

1.namenode元數據一致性問題。若是namenode發現元數據被修改,可是超出了邊界,那麼數據就會丟失,可使用正確的元數據重啓,或者直接退出safemode,可是會丟失數據

2.rollback元數據會被替換,會出現被觸發safemode forceExit狀態。這個時候須要使用命令強制退出。

Safemode也能夠手動進入,可是隻能手動退出。

-saveNamespace [-beforeShutdown]

保存當前的namespace到目錄中而且重置editlog。須要safemode。若是使用了beforeshutdown選項,namenode在一個時間窗口內沒有執行checkpoint下,會執行一個checkpoint.在關閉前運行,能夠防止潛在的fsimage或者editlog的損壞.

-rollEdits

Rolls the edit log on the active NameNode.

-restoreFailedStorage true|false|check

這個操做會自動打開和關閉來恢復保存的副本。若是一個錯誤的存儲變的可用,系統會嘗試在checkpoint的時候恢復fsiamgeeditlogCheck選項返回當前設置。

-refreshNodes

從新讀取hostexcludefilenamenode從新對namenode上下線。

-setQuota <quota> <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-clrQuota <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-clrSpaceQuota [-storageType <storagetype>] <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-finalizeUpgrade

完成hdfs更新。Datanode會刪除之以前版本的working目錄。

-rollingUpgrade [<query>|<prepare>|<finalize>]

See Rolling Upgrade document for the detail.

-refreshServiceAcl

Reload the service-level authorization policy file.

-refreshUserToGroupsMappings

Refresh user-to-groups mappings.

-refreshSuperUserGroupsConfiguration

Refresh superuser proxy groups mappings

-refreshCallQueue

Reload the call queue from config.

-refresh <host:ipc_port> <key> [arg1..argn]

Triggers a runtime-refresh of the resource specified by <key> on <host:ipc_port>. All other args after are sent to the host.

-reconfig <datanode |namenode> <host:ipc_port> <start|status|properties>

啓動從新配置或者獲取在線的配置狀態,第2個選項指定類型。

-printTopology

Namenode報告節點的機架樹結構

-refreshNamenodes datanodehost:port

對於給定的datanoe,重載配置文件, stops serving the removed block-pools and starts serving new block-pools.

-getVolumeReport datanodehost:port

對於給定的datanodevolume report.

-deleteBlockPool datanode-host:port blockpoolId [force]

若是指定了強制,,指定的blockpool idblock pool會被刪除,不然只會刪除空的目錄。若是datanode仍是在serving這個block pool那麼就會失敗。關於關閉block pool可使用refreshnamenode

-setBalancerBandwidth <bandwidth in bytes per second>

HDFS塊平衡的時候使用使用的最大帶寬,修改網絡帶寬. <bandwidth> 表示每秒每一個datanode的字節數.這個值會覆蓋dfs.datanode.balance.bandwidthPerSec. NOTE: 這個值並不會被持久化在datanode

-getBalancerBandwidth<datanode_host:ipc_port>

獲取指定datanode的網絡帶寬。在HDFS塊平衡的時候使用的最大帶寬。

-fetchImage <local directory>

下載最新的fsimage並保存在本地目錄

-allowSnapshot <snapshotDir>

容許某個目錄建立快照。若是操做完成,目錄就會變成snapshottable. See the HDFS Snapshot Documentation for more information.

-disallowSnapshot <snapshotDir>

禁止這個目錄建立快照。目錄下的快照必須在禁止前先刪除See the HDFS Snapshot Documentation for more information.

-shutdownDatanode<datanode_host:ipc_port> [upgrade]

Submit a shutdown request for the given datanode. See Rolling Upgrade document for the detail.

-evictWriters<datanode_host:ipc_port>

刪除某個datanode的全部寫入。若是在下線datanode由於slow writer被掛起的時候頗有用。

-getDatanodeInfo<datanode_host:ipc_port>

獲取指定datanode的信息. See Rolling Upgrade document for the detail.

-metasave filename

保存namenodeprimary數據結構到filename,目錄在hadoop.log.dir屬性中指定。若是已經存在就會被覆蓋。Filename會爲如下每一個保存一行:
1.
Datanodenamenode之間的心跳
2. Blocks
須要被複制的
3. Blocks
真正在被複制的
4. Blocks
等待被刪除的

-triggerBlockReport [-incremental]<datanode_host:ipc_port>

觸發一個指定datanodeblock report,若是有incremental參數就是增量的不然就是full

-listOpenFiles

列出namenode當前被打開的文件列表,包含client nameclient 設備

-help [cmd]

輸出幫助

3.3.6 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

Description

-plan

建立diskbalancer計劃

-execute

datanode上執行指定plan

-query

獲取datanode當前diskbalancer狀態

-cancel

取消正在運行的plan

-report

報告datanode的卷信息

3.3.7 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>]

     [-help [cmd ...]]

COMMAND_OPTION

Description

-setPolicy

設置目錄的指定的ErasureCoding 策略

-getPolicy

獲取指定目錄的 ErasureCoding 策略信息

-unsetPolicy

Unsetsetpolicy設置的 ErasureCoding 策略

-listPolicies

列出支持的 ErasureCoding 策略

-addPolicies

添加 erasure coding 策略

-listCodecs

Get the list of supported erasure coding codecs and coders in system

-enablePolicy

Enable an ErasureCoding policy in system

-disablePolicy

Disable an ErasureCoding policy in system

3.3.8 haadmin

    hdfs haadmin -transitionToActive <serviceId> [--forceactive]

    hdfs haadmin -transitionToStandby <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

Description

-checkHealth

check the health of the given NameNode

-failover

啓動2NameNodefailover

-getServiceState

決定namenodestandby仍是active

-getAllServiceState

返回NameNodes的全部狀態

 

-transitionToActive

把指定namenode設置爲active (Warning: No fencing is done)

 

-transitionToStandby

把指定namenode設置爲standby (Warning: No fencing is done)

 

-help [cmd]

顯示幫助信息

 

能夠查看 HDFS HA with NFS  HDFS HA with QJM

3.3.9 journalnode

hdfs journalnode

啓動journalnode,具體看 HDFS HA with QJM

3.3.10 mover

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

COMMAND_OPTION

Description

-f <local file>

指定本地文件裏面包含了要移動的文件和目錄

-p <files/dirs>

指定須要移動的過個文件和目錄

執行數據遷移工具。查看 Mover 

-p或者-f沒有指定,默認是root目錄。

3.3.11 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

Description

-backup

Start backup node.

-checkpoint

Start checkpoint node.

-format [-clusterid cid]

格式化NameNode. 啓動NameNode, 初始化而後關閉. 若是目錄已經存在或者reformat被禁止,拋出NameNodeFormatException.

-upgrade [-clusterid cid] [-renameReserved <k-v pairs>]

Hadoop新版本更新

-upgradeOnly [-clusterid cid] [-renameReserved <k-v pairs>]

更新指定的 NameNode 而後關閉.

-rollback

回滾到以前的版本。在安裝老的hadoop版本,而後中止集羣后運行。

-rollingUpgrade<rollback|started>

See Rolling Upgrade document for the detail.

-importCheckpoint

checkpoint目錄中加載image,而後保存到currentCheckpoint 目錄在dfs.namenode.checkpoint.dir

-initializeSharedEdits

格式化一個新的共享的edit目錄,而且複製足夠的editlogsegment,這樣standbynamendoe能夠啓動

-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck]

容許standbynamenode的共享存儲目錄,從最厚一個namespace中複製快照而後啓動。這個在第一次配置HA集羣的時候很是有用. 選項-force -nonInteractive -format 效果相似. -skipSharedEditsCheck 選項跳過edit檢查,保證咱們須要在共享目錄有足夠的edit日誌,讓最後一次checkpoint 啓動。

-recover [-force]

從損壞的文件系統中恢復出元數據See HDFS User Guide for the detail.

-metadataVersion

驗證配置的目錄存在,而後打印出軟件的元數據版本和image

3.3.12 nfs3

hdfs nfs3

啓動NFS3 gateway 具體看: HDFS NFS3 Service

3.3.13 portmap

hdfs portmap

啓動RPC protmap 具體看: HDFS NFS3 Service

3.3.14 secondarynamenode

hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]

COMMAND_OPTION

Description

-checkpoint [force]

若是EditLog size >= fs.checkpoint.sizesecondarynamenode啓動checkpoint. Force,強制checkpoint無論 EditLog size.

-format

在啓動時,格式化

-geteditsize

輸出namenode uncheckpoint事務的個數

3.3.15 storagepolicies

hdfs storagepolicies

      [-listPolicies]

      [-setStoragePolicy -path <path> -policy <policy>]

      [-getStoragePolicy -path <path>]

      [-unsetStoragePolicy -path <path>]

      [-help <command-name>]

輸出全部/gets/sets/unsets存儲策略。查看 HDFS Storage Policy Documentation

3.3.16 zkfc

hdfs zkfc [-formatZK [-force] [-nonInteractive]]

COMMAND_OPTION

Description

-formatZK

格式化 Zookeeper 實例. -force: 若是znode 存在對znode格式化. -nonInteractive: 若是znode存在,格式化znode, 除非-force選項被設置.

-h

顯示幫助

3.4 Debug command

3.4.1 verifyMeta

hdfs debug verifyMeta -meta <metadata-file> [-block <block-file>]

COMMAND_OPTION

Description

-block block-file

指定nanode決定路徑在本地文件系統的路徑

-meta metadata-file

指向datanode絕對路徑的元數據文件

驗證hdfs元數據和block文件。若是block文件被指定,會驗證metablockchecksum

3.4.2 computeMeta

hdfs debug computeMeta -block <block-file> -out <output-metadata-file>

COMMAND_OPTION

Description

-block block-file

指定nanode決定路徑在本地文件系統的路徑

-out output-metadata-file

輸出了元數據文件,保存了block文件的checksum

block文件計算hdfs元數據。若是block文件被指定,就會從block文件計算checksum而後保存到輸出的metadata文件

Node:若是block文件有錯誤,而且一斤覆蓋了元數據文件,雖然HDFS顯示沒有沒有問題,可是沒法讀取數據。Only use as a last measure, and when you are 100% certain the block file is good.

3.4.3 recoverLesse

hdfs debug recoverLease -path <path> [-retries <num-retries>]

COMMAND_OPTION

Description

[-path path]

HDFS用來恢復lease的地址.

[-retries num-retries]

客戶端調用recoverlease的次數。默認爲1

使用特定的路徑來恢復leasePath必須在hdfs文件系統,默認的重試次數是1

相關文章
相關標籤/搜索