3.1概述node
3.2 用戶命令web
3.2.1 classpathapache
3.2.2 dfsbootstrap
3.2.5 fsck數據結構
3.2.7 groupsdom
全部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 |
用於用戶hadoop cluster
語法:hdfs classpath [--glob |--jar <path> |-h |--help]
COMMAND_OPTION |
Description |
--glob |
expand wildcards |
--jar path |
Classpath指向一個jar包 |
-h, --help |
print help |
打印classpath須要獲取hadoop的jar包而且須要的lib。若是調用不帶參數,會輸出命令腳本setup的classpath,classpath包含了通配符。其餘的選項打印classpath通配符擴展後的classpath,或者把classpath寫入到jar包的manifest。
語法:hdfs dfs [COMMAND [COMMAND_OPTIONS]]
在hadoop支持的文件系統上,運行文件系統命令。各類COMMAND_OPTIONS能夠在 File System Shell Guide 查看。
語法:hdfs envvars
輸出hadoop環境變量
語法hdfs fetchdt <opts> <token_file_path>
COMMAND_OPTION |
Description |
--webservice NN_Url |
鏈接到nn的url(starts with http or https) |
--renewer name |
刷新nameoftoken |
--cancel |
取消token |
--renew |
刷新token,token必須已經經過fetched–renewername獲取 |
|
打印token |
token_file_path |
保存token的路徑 |
從namenode 獲取token,具體查看:fetchdt
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 |
打印每一個block的upgradedomain |
-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
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 |
hdfs groups [username ...]
返回給定用戶或多個用戶的group信息。
hdfs httpfs
啓動httpfs服務,HDFS HTTP網關
hdfs lsSnapshottableDir [-help]
獲取snapshottable目錄。當以super user用戶運行,會返回全部的snapshottable目錄。不然範圍屬於該用戶全部的目錄。
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信息
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文件格式), |
-v,--verbose |
Verbose輸出,打印輸入和輸出的文件,對於處理器輸出到文件的也會輸出到屏幕。 |
Hadoop offline editlog查看器。具體查看: Offline Edits Viewer Guide
hdfs oiv [OPTIONS] -i INPUT_FILE
輸入:
COMMAND_OPTION |
Description |
-i|--inputFile input file |
指定輸入的fsimage文件 |
選項:
COMMAND_OPTION |
Description |
-o,--outputFile output file |
指定output文件名,若是指定的輸出一個,若是文件已經存在就會被覆蓋。 |
-p,--processor processor |
指定一個image處理器應用image文件。當前能夠用的選項web(默認),xml,delimited, |
-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. |
-h,--help |
輸出幫助 |
Hadoop offline image viewer查看image文件,查看: Offline Image Viewer Guide
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默認,XML,Delimited,indented,filedistribution |
-maxSize size |
指定被分析的文件的大小範圍[0-maxsize],這個選項用來FileDistribution processor |
-step size |
指定分佈的粒度默認爲2MB,用於FileDistribution processor |
-format |
格式化輸出的結果爲可讀的方式,而不是一些字節。默認false。用與FileDistribution processor |
-skipBlocks |
文件中不枚舉不可用不可用的block。會減小處理時間和輸出文件大小。 |
-printToScreen |
和輸出的文件的內容同樣,輸出到屏幕。在極巨大的命名空間,會增長處理時間。 |
-delimiter arg |
當使用delimited處理器,替換默認的tab分隔爲參數 |
-h|--help |
輸出幫助信息 |
老的hadoop的hodoop offline image viewer
hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>
肯定HDFS快照的不一樣。
Hdfs version
輸出版本號
Hadoop cluster的管理命令
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是均衡的,那麼集羣就是均衡的. |
-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的應用。
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
hdfs crypto -createZone -keyName <keyName> -path <path>
hdfs crypto -listZones
hdfs crypto -provisionTrash -path <path>
hdfs crypto -help <command-name>
查看: HDFS Transparent Encryption Documentation
hdfs datanode [-regular | -rollback | -rollingupgrade rollback]
COMMAND_OPTION |
Description |
-regular |
正常啓動datanode(default). |
-rollback |
回退datanode到以前的版本 |
-rollingupgrade rollback |
回滾更新操做. |
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上測量replication,checksum,shapshots等等的原始空間。選項能夠過濾顯示的datanode |
-safemode enter|leave|get|wait|forceExit |
Safe mode維護命令. Safe mode是namenode的狀態 1. 不能修改namespace 2.不能複製,刪除 blocks. Safemode在namenode啓動的時候自動進入,,而且當配置的最小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的時候恢復fsiamge和editlog。Check選項返回當前設置。 |
-refreshNodes |
從新讀取host和excludefile的namenode從新對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 |
對於給定的datanode,volume report. |
-deleteBlockPool datanode-host:port blockpoolId [force] |
若是指定了強制,,指定的blockpool id的block 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 |
保存namenode的primary數據結構到filename,目錄在hadoop.log.dir屬性中指定。若是已經存在就會被覆蓋。Filename會爲如下每一個保存一行: |
-triggerBlockReport [-incremental]<datanode_host:ipc_port> |
觸發一個指定datanode的block report,若是有incremental參數就是增量的不然就是full的 |
-listOpenFiles |
列出namenode當前被打開的文件列表,包含client name和client 設備 |
-help [cmd] |
輸出幫助 |
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的卷信息 |
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 |
Unset由setpolicy設置的 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 |
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 |
啓動2個NameNode的failover |
|
-getServiceState |
決定namenode是standby仍是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
hdfs journalnode
啓動journalnode,具體看 HDFS HA with QJM
hdfs mover [-p <files/dirs> | -f <local file name>]
COMMAND_OPTION |
Description |
-f <local file> |
指定本地文件裏面包含了要移動的文件和目錄 |
-p <files/dirs> |
指定須要移動的過個文件和目錄 |
執行數據遷移工具。查看 Mover
-p或者-f沒有指定,默認是root目錄。
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,而後保存到current,Checkpoint 目錄在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 |
hdfs nfs3
啓動NFS3 gateway 具體看: HDFS NFS3 Service
hdfs portmap
啓動RPC protmap 具體看: HDFS NFS3 Service
hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]
COMMAND_OPTION |
Description |
-checkpoint [force] |
若是EditLog size >= fs.checkpoint.size對secondarynamenode啓動checkpoint. Force,強制checkpoint無論 EditLog size. |
-format |
在啓動時,格式化 |
-geteditsize |
輸出namenode uncheckpoint事務的個數 |
hdfs storagepolicies
[-listPolicies]
[-setStoragePolicy -path <path> -policy <policy>]
[-getStoragePolicy -path <path>]
[-unsetStoragePolicy -path <path>]
[-help <command-name>]
輸出全部/gets/sets/unsets存儲策略。查看 HDFS Storage Policy Documentation
hdfs zkfc [-formatZK [-force] [-nonInteractive]]
COMMAND_OPTION |
Description |
-formatZK |
格式化 Zookeeper 實例. -force: 若是znode 存在對znode格式化. -nonInteractive: 若是znode存在,格式化znode, 除非-force選項被設置. |
-h |
顯示幫助 |
hdfs debug verifyMeta -meta <metadata-file> [-block <block-file>]
COMMAND_OPTION |
Description |
-block block-file |
指定nanode決定路徑在本地文件系統的路徑 |
-meta metadata-file |
指向datanode絕對路徑的元數據文件 |
驗證hdfs元數據和block文件。若是block文件被指定,會驗證meta和block的checksum
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.
hdfs debug recoverLease -path <path> [-retries <num-retries>]
COMMAND_OPTION |
Description |
[-path path] |
HDFS用來恢復lease的地址. |
[-retries num-retries] |
客戶端調用recoverlease的次數。默認爲1 |
使用特定的路徑來恢復lease。Path必須在hdfs文件系統,默認的重試次數是1