- 921. Minimum Add to Make Parentheses Valid 使括号有效的最少添加
- 915. Partition Array into Disjoint Intervals 分割数组
- 932. Beautiful Array 漂亮数组
- 940. Distinct Subsequences II 不同的子序列 II
HDFS文件操作命令风格有两种
两种命令效果一样
hdfs dfs -help [cmd]
hadoop fs -help [cmd] 两个命令等价
<path>
...] -C 只显示文件和目录的路径。
-d 目录以普通文件的形式列出。
-h 以人类可读的方式格式化文件的大小而不是字节数。
-q 打印 ? 而不是不可打印的字符。
-R 递归地列出目录的内容。
-t 根据修改时间(最近的先修改)对文件进行排序。
-S 按大小排序文件。
-r 颠倒排序的顺序。
-u 使用最后访问时间代替修改显示和排序。
-e 显示文件和目录的擦除编码策略。
<path>
... # 创建一个长度为0的文件,路径为,时间戳为当前时间<路径>
。如果文件存在且长度非零,则返回错误<path>
... # 更新指定文件的访问和修改次数到当前时间。如果该文件不存在,则创建一个零长度的文件在处,当前时间作为的时间戳。-a 只修改访问时间
-m 只修改修改时间
-t TIMESTAMP使用指定的时间戳(格式为yyyyMMddHHmmss)代替当前时间
-c 不创建任何文件
<src>
... <dst>
#将匹配指定文件模式的文件移动到目标。移动多个文件时,目标必须是一个目录。<path>
... <expression>
... # 查找与指定表达式和匹配的所有文件将选定的操作应用于它们。如果不指定然后默认为当前工作目录。如果没有表达式被指定,然后默认为-print。-name pattern
-iname pattern
如果文件的basename与使用标准文件系统通配符的模式。
如果使用-iname,则匹配不区分大小写
-print
-print0
总是求值为真。使当前路径名为写入标准输出,后跟换行符。
如果-print0如果使用了表达式,则会添加一个ASCII NULL字符比一个换行符。
<path>
... # 在指定位置创建目录。-p 如果目录已经存在,不会失败
<src>
... # 删除所有匹配指定文件模式的文件。相当于Unix的rm命令”< src >
" -f 如果该文件不存在,则不显示诊断消息或修改退出状态以反映一个错误。
-[rR] 递归删除目录。
-skipTrash 选项绕过回收站(如果启用),并立即删除。
-safely 选项需要安全确认,如果启用,则需要大于等于的大目录删除前请确认\<hadoop.shell.delete.limit.num.files\>文件。预计延迟时间为递归遍历大目录以计算确认前需要删除的文件。
<src>
... <dst>
# 将匹配文件模式的文件复制到目标。当复制多个文件,目标必须是一个目录。<localsrc>
... <dst>
# 将所有给定本地文件的内容追加到给定的<ds>
t文件。如果<ds>
t的文件不存在,将创建该文件。如果<localSrc>
是-,则输入是从stdin读取。<src>
... # 获取所有匹配文件模式的文件,并显示其内容在stdout。<thread count>
] <localsrc>
... <dst>
# 将文件从本地文件系统复制到fs。如果文件已经存在会复制失败,除非指定了-f标志。 -p 保存时间戳、所有权和模式。
-f 如果目标已经存在,则覆盖它。
-t <thread count> 使用的线程数,默认为1。
-l 允许DataNode将文件延迟持久化到磁盘。强制复制因子为1。这个标志将导致耐久性下降。小心使用。
-d 跳过临时文件的创建(<dst>._COPYING_)
<thread count>
] <localsrc>
... <dst>
# 与-put命令相同。<localsrc>
... <dst>
# 除了源文件在复制后被删除与-put相同,而且-t选项还没有实现.<src>
... <localdst>
# 将匹配文件模式的文件复制到本地名称。<src>
保存。复制多个文件时,目标必须是一个目录。传递- f如果目标已经存在,则覆盖目标,而-p保留访问和修改时间、所有权和方式。<src>
... <localdst>
# 和get命令相同从配置中获取配置值
-namenodes 获取群集中的namenode列表。
-secondaryNameNodes # 获取集群中secondaryNameNode的列表。
-backupNodes # 获取群集中的备份节点列表。
-journalNodes # 获取群集中的日志节点列表。
-includeFile # 获取定义可加入群集的datanode的包含文件路径。
-excludeFile # 获取定义需要退役的datanode的排除文件路径。
-nnRpcAddresses # 获取namenode RPC地址
-confKey [key] # 从配置中获取特定的key
运行DFS管理员客户端
[-help [cmd]] 帮助
[-safemode <enter | leave | get | wait>] 安全模式 <进入|离开|获取|等待>
...
运行文件系统检查工具
可选一
[-list-corruptfileblocks | [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]]
-list-corruptfileblocks # 打印出丢失的块和它们所属的文件列表
-move # 移动损坏的文件到/丢失+发现
-delete # 删除的文件
-files # 打印出正在检查的文件
-openforwrite # 打印出打开要写入的文件
-files -blocks # 打印块报告
-files -blocks -locations # 打印出每个区块的位置
-files -blocks -racks # 打印出数据节点位置的网络拓扑结构
-files -blocks -replicaDetails # 打印出每个副本的细节
-files -blocks -upgradedomains # 打印出每个块的升级域
# 例:显示HDFS块信息
hdfs fsck 文件路径 -files -blocks -locations
可选二
[-includeSnapshots] [-showprogress] [-storagepolicies] [-maintenance] [-blockId <blk_Id>]
-includeSnapshots 如果给定的路径指示一个可快照目录,或者该目录下有可快照目录,则包含快照数据
-showprogress # 弃用,现在默认显示进度
-storagepolicies # 打印出块的存储策略摘要
-maintenance # 打印维护状态节点详细信息
-blockId # 打印出该块属于哪个文件,该块的位置(节点、机架),以及其他诊断信息(复制不足、损坏或未损坏等)
hadoop checknative 检测压缩库本地安装情况
hadoop namenode -format 格式化namenode,往往是第一次启动集群使用
# 执行自定义jar包
hadoop jar xxx
yarn jar xxx
HDFS 是 Hadoop 中的逻辑文件系统,块大小为 64MB。 HDFS 上的文件依次保存在底层操作系统文件系统上,比如 ext4,块大小为 4KiB。 据我所知,对于本地文件系统上的文件,操作系
哪种工具最适合测量 HDFS 空间消耗? 当我总结“hdfs dfs -du/”的输出时,与“hdfs dfsadmin -report”(“DFS Used”行)相比,我总是消耗更少的空间。是否有
我正在尝试编写一个简单的脚本来验证 HDFS 和本地文件系统校验和。 在 HDFS 上我得到 - [m@x01tbipapp3a ~]$ hadoop fs -checksum /user/m/fil
我从 HDFS 中删除了一个文件夹,我在下面找到了它 /user/hdfs/.Trash/Current/ 但我无法恢复它。我查看了论坛,但没有找到好的解决方案。 请有人有解决方案我可以帮助我如何在最
在 5 个节点的集群上运行 Presto 大型扫描查询,看起来只有一个节点是查询协调器,并通过网络从 5 个 hdfs 节点读取数据。 所有 presto 进程都在数据节点上运行。 有没有办法让5个节
我有一个名为 file name(1).zip 的文件(里面有空格和括号),我想把这个文件放在 HDFS 上。但是每次我尝试通过 hadoop fs -put ... 放置它时,我都会遇到异常。 我什
在 5 个节点集群上运行 Presto 大扫描查询,看起来只有一个节点是查询协调器,并通过网络从 5 个 hdfs 节点读取数据。 所有presto进程都在数据节点上运行。 有没有办法让5个节点使用s
所以我在 CentOS 5 上通过 Cloudera Manager cdh3u5 安装了 Hadoop。当我运行 cmd 时 hadoop fs -ls/ 我希望看到 hdfs://localhos
我用命令在hadoop上运行flume flume-ng agent -c conf -f conf/flume-twitter.conf -n TwitterAgent 现在我无法保存推特数据。它显
我使用两台主机(hadoop-coc-1 和 hadoop-coc-2)尝试在其中配置 HDFS 联合。因此,我在两个主机(hadoop-coc-1 和 hadoop-coc-2)中配置了 $ cat
我需要将大量文件从一个 hdfs 目录移动(而不是复制)到同一集群中的另一个 hdfs 目录。 我可以使用 distcp,但它似乎有点矫枉过正,因为它正在复制文件(复制它)我只想移动它。两个问题: A
当我尝试将文件从我的 本地目录 复制到 HDFS 时,出现以下错误: [cloudera@localhost ~]$ hadoop fs -copyFromLocal hello.txt /user/
据我所知,在从一个 HDFS 位置移动到另一个位置时,没有直接选项可以覆盖 HDFS 中的文件,复制 cp 可以选择强制执行。我试图找出是否有任何黑客可以做到这一点? 我们能做的是 hdfs dfs
我有两个 HDFS 设置,想将一些表从 HDFS1 复制(而不是迁移或移动)到 HDFS2。如何将数据从一个 HDFS 复制到另一个 HDFS?是否可以通过 Sqoop 或其他命令行实现? 最佳答案
目前尚不清楚您是否可以像在 Flume 中那样在 Kafka 中进行扇出(复制)。 我想让 Kafka 将数据保存到 HDFS 或 S3,并将该数据的副本发送到 Storm 进行实时处理。 Storm
如何发出 hdfs 命令作为 EMR 集群中的一个步骤?将步骤添加为 script_runner.jar 任务似乎奇怪地失败了。 最佳答案 使用 command-runner.jar 并调出 bash
如何发出 hdfs 命令作为 EMR 集群中的一个步骤?将步骤添加为 script_runner.jar 任务似乎奇怪地失败了。 最佳答案 使用 command-runner.jar 并调出 bash
我是 Hadoop 和 HDFS 的新手,所以当我从本地 (Ubuntu 10.04) 复制到本地主机上单个节点上的 HDFS 时,可能是我做错了什么。初始副本工作正常,但当我修改我的本地输入文件夹并
根据我在 Hadoop HDFS 上的实践,我了解到在创建用户 say u1 并尝试将文件从本地文件系统放入 HDFS 时,它会搜索目录 /user/u1 (默认情况下)对 HDFS 文件系统具有写入
我想将一个 70G 的文件放入 hdfs,所以我使用“put”命令来完成此操作。但是,我得到以下异常。我用相同的命令尝试了小尺寸文件,它有效。有谁知道是什么问题?谢谢! WARN [DataStre
我是一名优秀的程序员,十分优秀!