hdfs 指令_hdfs命令

hdfs命令大全

hdfs常用命令:

第一部分:hdfs文件系统命令

第一类:文件路径增删改查系列:

hdfs dfs -mkdir dir  创建文件夹

hdfs dfs -rmr dir  删除文件夹dir

hdfs dfs -ls  查看目录文件信息

hdfs dfs -lsr  递归查看文件目录信息

hdfs dfs -stat path 返回指定路径的信息

第二类:空间大小查看系列命令:

hdfs dfs -du -h dir 按照适合阅读的形式人性化显示文件大小

hdfs dfs -dus uri  递归显示目标文件的大小

hdfs dfs -du path/file显示目标文件file的大小

第三类:权限管理类:

hdfs dfs -chgrp  group path  改变文件所属组

hdfs dfs -chgrp -R /dir  递归更改dir目录的所属组

hdfs dfs -chmod [-R] 权限 -path  改变文件的权限

hdfs dfs -chown owner[-group] /dir 改变文件的所有者

hdfs dfs -chown -R  owner[-group] /dir  递归更改dir目录的所属用户

第四类:文件操作(上传下载复制)系列:

hdfs dfs -touchz a.txt 创建长度为0的空文件a.txt

hdfs dfs -rm file   删除文件file

hdfs dfs -put file dir  向dir文件上传file文件

hdfs dfs -put filea dir/fileb 向dir上传文件filea并且把filea改名为fileb

hdfs dfs -get file dir  下载file到本地文件夹

hdfs dfs -getmerge hdfs://Master:9000/data/SogouResult.txt CombinedResult  把hdfs里面的多个文件合并成一个文件,合并后文件位于本地系统

hdfs dfs -cat file   查看文件file

hdfs fs -text /dir/a.txt  如果文件是文本格式,相当于cat,如果文件是压缩格式,则会先解压,再查看

hdfs fs -tail /dir/a.txt查看dir目录下面a.txt文件的最后1000字节

hdfs dfs -copyFromLocal localsrc path 从本地复制文件

hdfs dfs -copyToLocal /hdfs/a.txt /local/a.txt  从hdfs拷贝到本地

hdfs dfs -copyFromLocal /dir/source /dir/target  把文件从原路径拷贝到目标路径

hdfs dfs -mv /path/a.txt /path/b.txt 把文件从a目录移动到b目录,可用于回收站恢复文件

第五类:判断系列:

hdfs fs -test -e /dir/a.txt 判断文件是否存在,正0负1

hdfs fs -test -d /dir  判断dir是否为目录,正0负1

hdfs fs -test -z /dir/a.txt  判断文件是否为空,正0负1

第六类:系统功能管理类:

hdfs dfs -expunge 清空回收站

hdfs dfsadmin -safemode enter 进入安全模式

hdfs dfsadmin -sfaemode leave 离开安全模式

hdfs dfsadmin -decommission datanodename 关闭某个datanode节点

hdfs dfsadmin -finalizeUpgrade 终结升级操作

hdfs dfsadmin -upgradeProcess status 查看升级操作状态

hdfs version 查看hdfs版本

hdfs daemonlog -getlevel  打印运行在的守护进程的日志级别

hdfs daemonlog -setlevel  设置运行在的守护进程的日志级别

hdfs dfs -setrep -w 副本数 -R path 设置文件的副本数

第二部分:运维命令

start-dfs.sh   启动namenode,datanode,启动文件系统

stop-dfs.sh   关闭文件系统

start-yarn.sh  启动resourcemanager,nodemanager

stop-yarn.sh  关闭resourcemanager,nodemanager

start-all.sh    启动hdfs,yarn

stop-all.sh    关闭hdfs,yarn

hdfs-daemon.sh start datanode  单独启动datanode

start-balancer.sh -t 10% 启动负载均衡,尽量不要在namenode节点使用

hdfs namenode -format  格式化文件系统

hdfs namenode -upgrade  分发新的hdfs版本之后,namenode应以upgrade选项启动

hdfs namenode -rollback  将namenode回滚到前一版本,这个选项要在停止集群,分发老的hdfs版本之后执行

hdfs namenode -finalize  finalize会删除文件系统的前一状态。最近的升级会被持久化,rollback选项将再不可用,升级终结操作之后,它会停掉namenode,分发老的hdfs版本后使用

hdfs namenode importCheckpoint 从检查点目录装载镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定

第三部分:mapreduce命令

hdfs jar file.jar 执行jar包程序

hdfs job -kill job_201005310937_0053  杀死正在执行的jar包程序

hdfs job -submit  提交作业

hdfs job -status   打印map和reduce完成百分比和所有计数器。

hdfs job -counter  打印计数器的值。

hdfs job -kill  杀死指定作业。

hdfs job -events 打印给定范围内jobtracker接收到的事件细节。

hdfs job -history [all]

hdfs job -history 打印作业的细节、失败及被杀死原因的细节。更多的关于一个作业的细节比如成功的任务,做过的任务尝试等信息可以通过指定[all]选项查看。

hdfs job -list [all]  显示所有作业。-list只显示将要完成的作业。

hdfs job -kill -task   杀死任务。被杀死的任务不会不利于失败尝试。

hdfs job -fail -task   使任务失败。被失败的任务会对失败尝试不利。

第四部分:hdfs系统检查工具fsck

hdfs fsck -move    移动受损文件到/lost+found

hdfs fsck -delete   删除受损文件。

hdfs fsck -openforwrite   打印出写打开的文件。

hdfs fsck -files     打印出正被检查的文件。

hdfs fsck -blocks     打印出块信息报告。

hdfs fsck -locations     打印出每个块的位置信息。

hdfs fsck -racks    打印出data-node的网络拓扑结构。

第五部分:运行pipies作业

hdfs pipes -conf 作业的配置

hdfs pipes -jobconf , , ...  增加/覆盖作业的配置项

hdfs pipes -input  输入目录

hdfs pipes -output 输出目录

hdfs pipes -jar Jar文件名

hdfs pipes -inputformat InputFormat类

hdfs pipes -map Java Map类

hdfs pipes -partitioner Java Partitioner

hdfs pipes -reduce Java Reduce类

hdfs pipes -writer Java RecordWriter

hdfs pipes -program 可执行程序的URI

hdfs pipes -reduces reduce个数

<think>好的,用户需要关于HDFS命令的大全和用法指南。首先,我需要回忆一下HDFS的常用命令,并确保每个命令的语法正确。用户可能不仅需要基本的命令列表,还需要具体的示例,这样他们可以更快地上手使用。 首先,应该从文件系统操作开始,比如列出目录、创建目录、上传和下载文件。这些是用户最常用的操作。记得每个命令都要给出示例,比如hadoop fs -ls和hadoop fs -mkdir。同时,要注意参数的使用,比如递归删除需要加上-r选项。 接下来是文件操作部分,包括复制、移动、查看文件内容等。比如hadoop fs -cp和hadoop fs -mv,这些命令和Linux的命令类似,但需要指出是在HDFS上操作。查看文件内容可以用hadoop fs -cat或者hadoop fs -tail,这些命令对于调试和日志查看非常有用。 权限管理也是一个重要部分,HDFS支持类似Linux的权限设置,所以需要介绍chmod和chown的使用方法。同时,用户可能需要知道如何修改文件的副本数,使用hadoop fs -setrep命令,这里要说明副本数对系统的影响。 然后是统计和集群管理命令,比如hdfs dfsadmin -report可以查看集群状态,hadoop fs -du显示磁盘使用情况。用户可能需要监控存储情况,所以这些命令比较实用。 高级功能部分,快照和配额管理可能对高级用户有帮助。创建快照和设置目录配额需要管理员权限,所以需要提醒用户权限问题。 Java编程示例部分,用户提到了参考中的Java代码,所以需要提供一个简单的示例,展示如何使用Hadoop的API来操作HDFS,比如创建文件和读取数据。确保代码正确,并注明需要添加Hadoop客户端依赖。 在注意事项中,要强调HDFS不可逆操作的风险,比如删除文件,以及路径格式的正确使用。此外,生产环境和测试环境的区别也需要提到,避免用户误操作。 最后,生成的相关问题需要覆盖用户可能进一步询问的方向,比如权限管理、备份方法、性能优化等。这些问题可以帮助用户更深入地了解HDFS的其他方面。 整个过程中需要确保命令的正确性,参考已有的引用资料,特别是用户提供的引用[1]和[2],确保信息一致。同时,保持回答结构清晰,分点说明,让用户易于理解和查找所需信息。</think>### HDFS 命令大全及用法指南 #### 一、基础文件系统操作 1. **查看目录内容** ```bash hadoop fs -ls <路径> ``` 示例:`hadoop fs -ls /user`(查看根目录下的user文件夹内容)[^2] 2. **创建目录** ```bash hadoop fs -mkdir <路径> ``` 示例: - 普通创建:`hadoop fs -mkdir /data`[^2] - 递归创建:`hadoop fs -mkdir -p /user/hadoop/test` 3. **上传文件到HDFS** ```bash hadoop fs -put <本地路径> <HDFS路径> ``` 示例:`hadoop fs -put data.txt hdfs://hadoop100:9000/test/` 4. **下载文件到本地** ```bash hadoop fs -get <HDFS路径> <本地路径> ``` 示例:`hadoop fs -get /test/data.txt ./download/` #### 二、文件操作命令 5. **删除文件/目录** ```bash hadoop fs -rm [-r] <路径> ``` 示例: - 删除文件:`hadoop fs -rm /test/data.txt` - 递归删除目录:`hadoop fs -rm -r /tmp` 6. **复制文件** ```bash hadoop fs -cp <源路径> <目标路径> ``` 示例:`hadoop fs -cp /input/log.txt /backup/` 7. **移动/重命名文件** ```bash hadoop fs -mv <源路径> <目标路径> ``` 示例:`hadoop fs -mv /olddir/data.csv /newdir/` 8. **查看文件内容** ```bash hadoop fs -cat <文件路径> hadoop fs -tail <文件路径> ``` 示例:`hadoop fs -cat /logs/system.log | head -n 20` #### 三、权限与属性管理 9. **修改文件权限** ```bash hadoop fs -chmod <权限模式> <路径> ``` 示例:`hadoop fs -chmod 755 /user/hadoop/script.sh` 10. **修改文件所有者** ```bash hadoop fs -chown <用户:组> <路径> ``` 示例:`hadoop fs -chown hadoop:dev /project` 11. **设置副本数(仅HDFS)** ```bash hadoop fs -setrep [-w] <副本数> <路径> ``` 示例:`hadoop fs -setrep 3 /data/important` #### 四、统计与集群管理 12. **查看存储统计** ```bash hadoop fs -du [-h] <路径> ``` 示例:`hadoop fs -du -h /`(显示根目录占用空间) 13. **集群状态报告** ```bash hdfs dfsadmin -report ``` 输出包含活跃节点、存储容量等关键指标 #### 五、高级功能 14. **创建快照(需目录已启用快照功能)** ```bash hadoop fs -createSnapshot <目录路径> [快照名称] ``` 示例:`hadoop fs -createSnapshot /data critical_backup` 15. **设置目录配额** ```bash hadoop fs -setQuota <最大文件数> <目录路径> ``` 示例:`hadoop fs -setQuota 10000 /user/storage` #### 六、Java编程接口示例 ```java // 创建HDFS文件 public void createFile(String hdfsPath, String content) throws IOException { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(hdfsPath), conf); FSDataOutputStream out = fs.create(new Path(hdfsPath)); out.writeBytes(content); out.close(); } // 读取HDFS数据 public String readFile(String hdfsPath) throws IOException { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); FSDataInputStream in = fs.open(new Path(hdfsPath)); return IOUtils.toString(in, "UTF-8"); } ``` (需添加hadoop-client依赖)[^1] #### 注意事项 1. HDFS路径支持两种格式: - 简写路径:`/test/file`(默认使用配置的默认文件系统) - 完整路径:`hdfs://namenode:port/path`[^2] 2. 删除操作不可逆,建议先执行`-ls`确认路径 3. 生产环境操作前应在测试集群验证命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值