草庐IT

0006 - Hadoop&HDFS命令指南大全

小左先森 2023-03-28 原文
大数据梦工厂(0006 - Hadoop&HDFS命令指南大全)


1 - Hadoop 命令指南

1.1 - archive

创建一个 Hadoop 归档文件,其扩展名是 *.har。创建 archive 是一个 Map/Reduce 任务。

Usage: hadoop archive <-archiveName <NAME>.har> <-p <parent path>> [-r <replication factor>] <src>* <dest> -archiveName 归档文件的名称(<NAME>.har)。 -p 需要归档的父路径,可以有多个源路径。 -r 所需的副本系数(默认为 3)。 示例:

hadoop archive -archiveName foo.har /user/hadoop dir1 dir2 -r 3 /user/zoo/

1.2 - checknative

此命令检查 Hadoop 本机代码的可用性。默认情况下,此命令仅检查 libhadoop 的可用性。

Usage: hadoop checknative [-a] [-h] -a 检查所有库是否可用。 -h 打印帮助。 示例:

hadoop checknative -a

1.3 - conftest

验证配置 XML 文件。

验证相当简单:解析 XML 并检查重复和空的属性名称。该命令不支持 XInclude;如果您使用它来拉入配置项,它将声明 XML 文件无效。

Usage: hadoop conftest [-conffile <path>|-h|--help] -conffile 要验证的配置文件或目录的路径。 如果未指定 -conffile 选项,将验证${HADOOP_CONF_DIR} 中名称以 .xml 结尾的文件。 如果指定,将验证该路径,可以指定文件或目录。如果指定目录,将验证该目录中名称以 .xml 结尾的文件。

1.4 - credential

用于管理凭据提供程序中的凭据、密码和其它的命令。

Usage: hadoop credential <subcommand> [options] [-help] [create <alias> [-value alias-value] [-provider provider-path] [-strict]] [delete <alias> [-f] [-provider provider-path] [-strict]] [list [-provider provider-path] [-strict]] [check <alias> [-value alias-value] [-provider provider-path] [-strict]] create <alias> 提示用户将凭据存储为给定的别名。 delete <alias> 使用提供的别名删除凭据。 list 列出所有的凭证别名的。 check <alias> 检查给定别名的密码。 示例:

hadoop credential list -provider jceks://file/tmp/test.jceks

1.5 - distch

一次更改多个文件的所有权和权限。

Usage: hadoop distch [-f urilist_url] [-i] [-log logdir] path:owner:group:permissions -f 要更改的对象列表。 -i 忽略失败。 -log 记录输出的目录。

1.6 - distcp

distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。它使用 Map/Reduce 实现文件分发,错误处理和恢复,以及生成报告。可以指定多个源目录。

Usage: distcp OPTIONS [source_path] <target_path> -append 具有相同名称但不同长度的文件的增量副本。 -update 如果源和目标文件大小、块大小或校验和不同,则覆盖。 -async 异步运行 distcp。Hadoop 作业启动后立即退出。 -p[rbugpcaxt] 保留权限(r:副本系数;b:块大小;u:用户;g:用户组;p:权限;c:校验和类型;a:ACL;x:XAttr;t:时间戳)。 -m <num_maps> 同时复制的最大数量。 -log 将日志写入<logdir>。 -f 多个源文件列表。 -i 忽略失败。 ... 示例:

hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo hadoop distcp hdfs://nn1:8020/foo/a hdfs://nn1:8020/foo/b hdfs://nn2:8020/bar/foo hadoop distcp distcp -update hdfs://nn1:8020/source/first hdfs://nn1:8020/source/second hdfs://nn2:8020/target # srclist 的内容是 hdfs://nn1:8020/foo/a 和 hdfs://nn1:8020/foo/b hadoop distcp -f hdfs://nn1:8020/srclist hdfs://nn2:8020/bar/foo

1.7 - dtutil

在凭证文件中获取和管理 Hadoop 委托令牌的实用程序。它旨在替换更简单的命令 fetchdt。有多个子命令,每个子命令都有自己的标志和选项。

Usage: hadoop dtutil [-keytab <keytab_file> -principal <principal_name>] subcommand (help|print|get|edit|append|cancel|remove|renew) [-format (java|protobuf)] [-alias <alias>] filename... hadoop dtutil print [-alias <alias>] filename... hadoop dtutil get URL [-service <scheme>] [-format (java|protobuf)][-alias <alias>] [-renewer <renewer>] filename hadoop dtutil edit -service <service> -alias <alias> [-format (java|protobuf)]filename... hadoop dtutil append [-format (java|protobuf)]filename... hadoop dtutil cancel -alias <alias> [-format (java|protobuf)] filename... hadoop dtutil remove -alias <alias> [-format (java|protobuf)] filename... hadoop dtutil renew -alias <alias> filename... hadoop dtutil import <base64> [-alias <alias>] [-format (java|protobuf)] filename

1.8 - fs

该命令在《Hadoop-Shell命令指南大全》有详细说明。当使用 HDFS 时,等同于 hdfs dfs

1.9 - gridmix

Gridmix 是 Hadoop 集群的基准测试工具。

Usage: hadoop gridmix [-generate <MiB>] [-users URI] [-Dname=value ...] <iopath> <trace>

1.10 - jar

通过 MapReduce 运行一个 jar 文件。

Usage: hadoop jar <jar> [mainClass] args 示例

hadoop jar /opt/cloudera/parcels/CDH/jars/hadoop-examples.jar pi -D mapreduce.job.queuename=root.B 2 10

1.11 - jnipath

打印出的 java.library.path 路径。

Usage: hadoop jnipath

1.12 - kerbname

通过 auth_to_local 规则将命名主体转换为 Hadoop 用户名。

Usage: hadoop kerbname principal 示例

hadoop kerbname user@EXAMPLE.COM

1.13 - kdiag

诊断 Kerberos 问题。

Usage: hadoop kdiag

1.14 - key

通过 KeyProvider 管理密钥。

Usage: hadoop key <subcommand> [options] 示例

# 作为密钥管理员,将密钥滚动到新版本 hadoop key roll exposedKey

1.15 - kms

运行 KMS,即密钥管理服务器。

Usage: hadoop kms

1.16 - trace

查看和修改 Hadoop 跟踪设置。

Usage: hadoop trace <subcommand> [options] 示例

hadoop trace -add -class org.apache.htrace.core.LocalFileSpanReceiver -Chadoop.htrace.local.file.span.receiver.path=/tmp/htrace.out -host 171.16.1.2:9000 hadoop trace -remove 1 -host 171.16.1.2:9000 hadoop trace -list -host 171.16.1.2:9000 hadoop trace -list -host NN1:8020 -principal namenode/NN1@EXAMPLE.COM

1.17 - CLASSNAME

运行名为 CLASSNAME 的类。类必须是包的一部分。

Usage: hadoop CLASSNAME

2 - HDFS 命令指南

2.1 - classpath

打印获取 Hadoop jar 和所需库所需的类路径。如果不带参数调用,则打印由命令脚本设置的类路径,它可能在类路径条目中包含通配符。其它选项在通配符扩展后打印类路径或将类路径写入 jar 文件的清单。后者在不能使用通配符并且扩展的类路径超过支持的最大命令行长度的环境中很有用。

Usage: hdfs classpath [--glob |--jar <path> |-h |--help] --glob 扩展通配符。 --jar <path> 在名为路径的 jar 中将类路径写为清单。 -h, --help 打印帮助。

2.2 - dfs

该命令在《Hadoop-Shell命令指南大全》有详细说明。当使用 Hadoop 时,等同于 hadoop fs

Usage: hdfs dfs [COMMAND [COMMAND_OPTIONS]]

2.3 - envvars

输出 Hadoop 的环境变量。

Usage: hdfs envvars 示例

hadoop envvars hdfs envvars

2.4 - fetchdt

从 NameNode 获取委托令牌。

Usage: hdfs fetchdt <opts> <token_file_path> --webservice NN_Url Url 用于联系 NN 的 URL(以 http 或 https 开头)。 --renewer name 委托令牌更新者的名称。 --cancel 取消委托令牌。 --renew 续订委托令牌。必须使用 -renewer name 选项获取委托令牌。 --print 打印委托令牌。 token_file_path 存储令牌的文件路径。

2.5 - fsck

运行 HDFS 文件系统的检查工具。

Usage: hdfs fsck <path> [-list-corruptfileblocks | [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]] [-includeSnapshots] [-showprogress] [-storagepolicies] [-maintenance] [-blockId <blk_Id>] [-replicate] path 检查的起始目录。 -delete 删除损坏的文件。 -files 打印出被检查的文件。 -files -blocks 打印出块信息报告。 -files -blocks -locations 打印出每个块的位置信息。 -files -blocks -racks 打印出 data-node 的网络拓扑结构。 -files -blocks -replicaDetails 打印出每个副本的详细信息。 -files -blocks -upgradedomains 打印出每个块的升级域。 -includeSnapshots 如果给定的路径指示一个可快照目录或在其下有可快照目录,则包括快照数据。 -list-corruptfileblocks 打印出它们所属的丢失块和文件的列表。 -move 移动受损文件到 `/lost+found`。 -openforwrite 打印为写入而打开的文件。 -showprogress 已弃用。使用或不使用此开关处理每 100 个文件打印一个点。 -storagepolicies 打印出块的存储策略摘要。 -maintenance 打印维护状态节点详细信息。 -blockId 打印出有关块的信息。 -replicate 启动复制工作,使错误复制的块满足块放置策略。 示例

hdfs fsck /

2.6 - getconf

从配置文件中获取配置信息的工具。

Usage: hdfs getconf [OPTIONS] -namenodes 获取集群中的 NameNodes 节点列表。 -secondaryNameNodes 获取集群中的 SecondaryNameNodes 节点列表。 -backupNodes 获取集群中的 backupNodes 节点列表。 -journalNodes 获取集群中的 journalNodes 节点列表。 -includeFile 获取可以加入集群的 DataNode 节点的包含文件路径。 -excludeFile 获取定义需要退役的 DataNode 节点的排除文件路径。 -nnRpcAddresses 获取 NameNodes RPC 地址。 -confKey [key] 从配置中获取秘钥。 示例

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]

2.7 - groups

返回给定一个或多个用户名的组信息。

Usage: hdfs groups [username ...] 示例

hdfs groups hdfs

2.8 - httpfs

运行 HttpFS 服务器,即 HDFS HTTP 网关。

Usage: hdfs httpfs

2.9 - lsSnapshottableDir

获取可快照目录的列表。当它以超级用户身份运行时,返回所有可快照目录。否则,它返回当前用户拥有的那些目录。

Usage: hdfs lsSnapshottableDir [-help]

2.10 - jmxget

从服务获取 JMX 信息。

Usage: hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service] -help 打印帮助。 -localVM ConnectorURL 连接到同一台机器上的虚拟机。 -port mbean server port 指定 mbean 服务器端口,如果缺少它将尝试连接到同一 VM 中的 MBean 服务器。 -server 指定 mbean 服务器(默认为 localhost)。 -service NameNode|DataNode 指定 jmx 服务。默认为 NameNode。

2.11 - oev

转换查看 Edits 文件

Usage: hdfs oev [OPTIONS] -i INPUTFILE -o OUTPUTFILE -i 要转换的文件。 -o 转换后的文件路径。 -p 转换格式:binary(hadoop 二进制格式), xml(默认 XML 格式), stats(打印关于编辑文件的统计信息)。 示例

hdfs oev -p XML -i edits_inprogress_0000000000087833757 -o ./localdir/edits.xml

2.12 - oiv

转换查看 FsImage 文件。

Usage: hdfs oiv [OPTIONS] -i INPUTFILE -o OUTPUTFILE -i 要转换的文件。 -o 转换后的文件路径。 -p 转换格式(XML|FileDistribution|ReverseXML|Web|Delimited)。 示例

hdfs oiv -p Delimited -i ./localdir/fsimage_0000000000088684994 -o ./localdir/fsimage.csv

2.13 - oiv_legacy

用于旧版本的 Hadoop 离线图像查看器。

Usage: hdfs oiv_legacy [OPTIONS] -i INPUTFILE -o OUTPUTFILE

2.14 - snapshotDiff

确定 HDFS 快照之间的差异。

Usage: hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>

2.15 - version

输出 Hadoop 的版本信息。

Usage: hdfs version 示例

hadoop version hdfs version

3 - Admin命名指南

3.1 - balancer

运行集群平衡实用程序。管理员只需按 Ctrl+C 即可停止重新平衡过程。只能使用 HDFS 超级用户执行该命令。

Usage: 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] 示例

# 10 为各节点存储的浮动比例 10% 上下浮动 hdfs balancer -threshold 10

3.2 - cacheadmin

管理员和用户可以通过 hdfs cacheadmin 子命令与缓存池和指令进行交互。

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

3.3 - crypto

HDFS 透明加密。

Usage: hdfs crypto -createZone -keyName <keyName> -path <path> -listZones -provisionTrash -path <path> -help <command-name> 示例

hdfs crypto -listZones hdfs crypto -reencryptZone -start -path /zone hdfs crypto -listReencryptionStatus hdfs crypto -getFileEncryptionInfo -path /zone/helloWorld

3.4 - daemonlog

动态获取/设置由守护程序中的限定类名标识的日志的日志级别。默认情况下,该命令发送 HTTP 请求,但可以通过使用参数 -protocol https 发送 HTTPS 请求来覆盖。

Usage: hadoop daemonlog [-getlevel <host:port> <classname> [-protocol (http|https)] [-setlevel <host:port> <classname> <level> [-protocol (http|https)] 示例

hadoop daemonlog -setlevel 127.0.0.1:9870 org.apache.hadoop.hdfs.server.namenode.NameNode DEBUG hadoop daemonlog -getlevel 127.0.0.1:9871 org.apache.hadoop.hdfs.server.namenode.NameNode DEBUG -protocol https

3.5 - datanode

运行 HDFS 的 DataNode 节点。

Usage: hdfs datanode [-regular | -rollback | -rollingupgrade rollback] -regular 正常启动 DataNode (默认)。 -rollback 将 DataNode 回滚到以前的版本。这应该在停止 DataNode 并分发旧的 hadoop 版本后使用。 -rollingupgrade rollback 回滚滚动升级操作。

3.6 - dfsadmin

运行 HDFS 的 dfsadmin 客户端,只能使用 HDFS 超级用户执行该命令。

Usage: hdfs dfsadmin [-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance]] [-safemode enter | leave | get | wait | forceExit] [-saveNamespace [-beforeShutdown]] [-rollEdits] [-restoreFailedStorage true |false |check] [-refreshNodes] [-setQuota <quota> <dirname>...<dirname>] [-clrQuota <dirname>...<dirname>] [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>] [-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>] [-finalizeUpgrade] [-rollingUpgrade [<query> |<prepare> |<finalize>]] [-upgrade [query | finalize] [-refreshServiceAcl] [-refreshUserToGroupsMappings] [-refreshSuperUserGroupsConfiguration] [-refreshCallQueue] [-refresh <host:ipc_port> <key> [arg1..argn]] [-reconfig <namenode|datanode> <host:ipc_port> <start |status |properties>] [-printTopology] [-refreshNamenodes datanodehost:port] [-getVolumeReport datanodehost:port] [-deleteBlockPool datanode-host:port blockpoolId [force]] [-setBalancerBandwidth <bandwidth in bytes per second>] [-getBalancerBandwidth <datanode_host:ipc_port>] [-fetchImage <local directory>] [-allowSnapshot <snapshotDir>] [-disallowSnapshot <snapshotDir>] [-shutdownDatanode <datanode_host:ipc_port> [upgrade]] [-evictWriters <datanode_host:ipc_port>] [-getDatanodeInfo <datanode_host:ipc_port>] [-metasave filename] [-triggerBlockReport [-incremental] <datanode_host:ipc_port> [-namenode <namenode_host:ipc_port>]] [-listOpenFiles [-blockingDecommission] [-path <path>]] [-help [cmd]] 示例

# 查看整个 HDFS 的健康情况 hdfs dfsadmin -report # 限制 test.db 数据库的 HDFS 使用空间为 10T hdfs dfsadmin -setSpaceQuota 10T /user/hive/warehouse/test.db # 临时设置 DataNode 网络带宽 hdfs dfsadmin -setBalancerBandwidth 104857600 # 从 NameNode 节点获取最新的 fsimage 文件至本地指定目录 hdfs dfsadmin -fetchImage ./localdir/fsimage_0000000000088684994 # 查看安全模式状态 hdfs dfsadmin -safemode get # 进入安全模式状态 hdfs dfsadmin -safemode enter # 离开安全模式状态 hdfs dfsadmin -safemode leave # 等待安全模式状态 hdfs dfsadmin -safemode wait

3.7 - dfsrouter

运行 DFS 路由器。

Usage: hdfs dfsrouter

3.8 - dfsrouteradmin

用于管理基于路由器的联合的命令。

Usage: 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]

3.9 - diskbalancer

用于将数据均匀分布到 DataNode 的所有磁盘上的一种命令工具。只能使用 HDFS 超级用户执行该命令。

Usage: 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>] -plan 创建一个平衡器计划。 -execute 在 DataNode 节点上执行给定的计划。 -query 从 DataNode 节点获取当前磁盘平衡器状态。 -cancel 取消计划。 -report 报告来自 DataNode 节点的信息。 示例

hdfs diskbalancer -plan node1.mycluster.com hdfs diskbalancer -execute /system/diskbalancer/nodename.plan.json hdfs diskbalancer -query nodename.mycluster.com hdfs diskbalancer -cancel /system/diskbalancer/nodename.plan.json hdfs diskbalancer -cancel planID -node nodename hdfs diskbalancer -fs http://namenode.uri -report -node <file://> | [<DataNodeID|IP|Hostname>,...] hdfs diskbalancer -fs http://namenode.uri -report -top topnum

3.10 - ec

运行 ErasureCoding CLI。

Usage: 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 ...]]

3.11 - haadmin

HA NameNode 已配置并启动,将可以访问一些额外的命令来管理 HA HDFS 集群。具体来说,用 “hdfs haadmin” 命令的所有子命令。不带任何附加参数运行此命令将显示以下用法信息:

Usage: hdfs haadmin [-ns <nameserviceId>] [-checkHealth <serviceId>] [-failover [--forcefence] [--forceactive] <serviceId> <serviceId>] [-getAllServiceState] [-getServiceState <serviceId>] [-help <command>] [-transitionToActive [--forceactive] <serviceId>] [-transitionToObserver <serviceId>] [-transitionToStandby <serviceId>] -checkHealth 检查给定 NameNode 的健康状况。 -failover 在两个 NameNode 之间启动故障转移。 -getServiceState 确定给定的 NameNode 是 Active 还是 Standby。 -getAllServiceState 返回所有 NameNode 的状态。 -transitionToActive 将给定 NameNode 的状态转换为 Active(警告:未完成防护)。 -transitionToStandby 将给定 NameNode 的状态转换为 Standby(警告:未完成防护)。 -transitionToObserver 将给定 NameNode 的状态转换为 Observer(警告:未进行防护)。 -help [cmd] 如果没有指定,则显示给定命令或所有命令的帮助。

3.12 - journalnode

运行 HDFS 的 journalnode 节点。

Usage: hdfs journalnode

3.13 - mover

运行数据迁移实用程序。

Usage: hdfs mover [-p <files/dirs> | -f <local file name>] -f <本地文件> 指定包含要迁移的 HDFS 文件/目录列表的本地文件。 -p <文件/目录> 指定要迁移的 HDFS 文件/目录的空格分隔列表。

3.14 - namenode

运行 HDFS 的 NameNode 节点。

Usage: 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 ]

3.15 - nfs3

启动 NFS3 网关以与 HDFS NFS3 服务一起使用。

Usage: hdfs nfs3

3.16 - portmap

启动用于 HDFS NFS3 服务的 RPC 端口映射。

Usage: hdfs portmap

3.17 - secondarynamenode

运行 HDFS 的 SecondaryNameNode 节点。

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

3.18 - storagepolicies

列出所有/获取/设置/取消设置存储策略。

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

3.19 - zkfc

启动 Zookeeper 故障转移控制器进程。

Usage: hdfs zkfc [-formatZK [-force] [-nonInteractive]] -formatZK 格式化 Zookeeper 实例。 - -force 如果 znode 存在,则格式化 znode。 - -nonInteractive 如果 znode 存在,则格式化 znode 中止,除非指定了 -force 选项。 -H 显示帮助

4 - Debug 命令指南

4.1 - verifyMeta

验证 HDFS 元数据和块文件。如果指定了块文件,将验证元数据文件中的校验和是否与块文件匹配。

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

4.2 - computeMeta

从块文件计算 HDFS 元数据。如果指定了块文件,将从块文件中计算校验和,并将其保存到指定的输出元数据文件中。

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

4.3 - recoverLease

恢复指定路径上的租约。该路径必须位于 HDFS 文件系统上。默认重试次数为 1。

Usage: hdfs debug recoverLease -path <path> [-retries <num-retries>]
::: hljs-center

扫一扫,我们的故事就开始了。

:::

有关0006 - Hadoop&HDFS命令指南大全的更多相关文章

  1. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  2. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来

  3. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  4. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  5. ruby - 从 Ruby : capturing the output while displaying the output? 运行 shell 命令 - 2

    我有一个问题。我想从另一个ruby​​脚本运行一个ruby​​脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密

  6. ruby - 是否有将图像文件转换为 ASCII 艺术的命令行程序或库? - 2

    有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/

  7. ruby - 在 Ruby 的 if 语句中检查 bash 命令 - 2

    如何在Ruby的if语句中检查bash命令的返回值(true/false)。我想要这样的东西,if("/usr/bin/fswscell>/dev/null2>&1")has_afs="true"elsehas_afs="false"end它会提示以下错误含义,它总是返回true。(irb):5:warning:stringliteralincondition正确的语法是什么?更新:/usr/bin/fswscell寻找afs安装和运行状态。它会抛出这样的字符串,Thisworkstationbelongstocell如果afs没有运行,命令以状态1退出 最

  8. ruby - 可以正常中断的来自 Rake 的长时间运行的 shell 命令? - 2

    在几个项目中,我希望有一个类似rakeserver的rake任务,它将通过任何需要的方式开始为该应用程序提供服务。这是一个示例:task:serverdo%x{bundleexecrackup-p1234}end这行得通,但是当我准备停止它时,按Ctrl+c并没有正常关闭;它中断了Rake任务本身,它说rakeaborted!并给出堆栈跟踪。在某些情况下,我必须执行Ctrl+c两次。我可能可以用Signal.trap写一些东西来更优雅地中断它。有没有更简单的方法? 最佳答案 trap('SIGINT'){puts"Yourmessa

  9. ruby - Capistrano 中的执行、测试和捕获命令有什么区别? - 2

    关于SSHkit-Github它说:Allbackendssupporttheexecute(*args),test(*args)&capture(*args)来自SSHkit-Rubydoc,我明白execute实际上是test的别名?test之间有什么区别?,execute,capture在Capistrano/SSHKit中我应该什么时候使用? 最佳答案 执行只是执行命令。使用非0退出引发错误。测试方法的行为与execute完全相同,但是它返回bool值(true如果命令以0退出,而false否则)。它通常用于控制任务中的流程

  10. ruby - 如何在 Ruby 中执行 Windows CLI 命令? - 2

    我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解

随机推荐