hadoop相关操作命令

Hadoop和HDFS都是Apache Software Foundation的开源项目,用于分布式存储和处理大数据。在命令行中,Hadoop提供了两种与文件系统相关的命令:hadoop fs和hadoop dfs。而HDFS也有其自己的命令:hdfs dfs。

  1. hadoop fs: 这是一个通用的文件系统命令,不仅限于HDFS。它可以针对任何系统,如本地文件、HDFS文件、HFTP文件、S3文件系统等进行操作。此外,hadoop fs命令的使用范围更广泛,不仅可以用于HDFS,还可以用于其他文件系统,如Local FS。
  2. hadoop dfs: 这是特定于HDFS的文件系统的相关操作命令。但是,它已经逐渐不被推荐使用。当使用hadoop dfs时,其内部会被转换为hdfs dfs命令。这意味着,尽管hadoop dfs是专门为HDFS设计的,但它的功能在某种程度上被hdfs dfs所覆盖。
  3. hdfs dfs: 这是专门针对HDFS分布式文件系统的命令。与hadoop dfs类似,当使用hdfs dfs时,其内部也会被转换为相应的HDFS操作。但hdfs dfs是专为HDFS设计的命令,因此只适用于HDFS文件系统。

总结来说,hadoop fs和hdfs dfs都是与文件系统相关的命令,但它们的使用范围和功能有所不同。在实际使用中,用户应根据需求选择合适的命令。

HDFS文件系统命令

以下是一些常用的HDFS(Hadoop分布式文件系统)命令:

  • 查看目录文件信息:hdfs dfs -ls /path/to/directory
  • 创建文件夹:hdfs dfs -mkdir /path/to/new/directory
  • 删除文件夹:hdfs dfs -rmr /path/to/directory
  • 递归查看文件目录信息:hdfs dfs -lsr /path/to/directory
  • 返回指定路径的信息:hdfs dfs -stat /path/to/file
  • 查看文件大小:hdfs dfs -du -h /path/to/file
  • 显示hdfs上目标文件的大小:hdfs dfs -du /xxx/xxx

请注意,上述命令中的/path/to/directory/path/to/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 创建空文件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 fs -test -e /dir/a.txt 返回结果为正0或负1。

判断目录是否为目录,使用命令:hdfs fs -test -d /dir 返回结果为正0或负1。

判断文件是否为空,使用命令:hdfs fs -test -z /dir/a.txt 返回结果为正0或负1。

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

hdfs dfsadmin 相关的命令:

  • 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 host:port <name>:打印运行在指定host和port的守护进程的日志级别。
  • hdfs daemonlog -setlevel host:port <name> <level>:设置运行在指定host和port的守护进程的日志级别。
  • hdfs dfs -setrep -w 副本数 -R path:设置指定文件的副本数。

启动和停止命令如下所示:

  • 启动文件系统:start-all.sh
  • 关闭文件系统:stop-all.sh
  • 启动resourcemanager和nodemanager:start-yarn.sh
  • 关闭resourcemanager和nodemanager:stop-yarn.sh
  • 单独启动datanode:start-datanode.sh
  • 启动负载均衡(尽量不要在namenode节点使用):start-balancer.sh -t 10%(10%代表负载最高和最低相差值)
  • 格式化文件系统:hdfs namenode -format
  • 分发新的hdfs版本之后,以upgrade选项启动namenode:hdfs namenode -upgrade
  • 将namenode回滚到前一版本(执行前需要停止集群并分发老的hdfs版本):hdfs namenode -rollback
  • finalize会删除文件系统的前一状态,升级终结操作之后停掉namenode��分发老的hdfs版本后使用:hdfs namenode -finalize
  • 从检查点目录装载镜像并保存到当前检查点目录(由fs.checkpoint.dir指定):hdfs namenode importCheckpoint

job系列

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 <from-event-#> <#-of-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 <path> -move命令可以将受损文件移动到/lost+found目录。

使用hdfs fsck <path> -delete命令可以删除受损文件。

使用hdfs fsck <path> -openforwrite命令可以打印出正在被写入的文件。

使用hdfs fsck <path> -files命令可以打印出正在被检查的文件。

使用hdfs fsck <path> -blocks命令可以打印出块信息报告。

使用hdfs fsck <path> -locations命令可以打印出每个块的位置信息。

使用hdfs fsck <path> -racks命令可以打印出data-node的网络拓扑结构。

pipies作业系列

hdfs pipes -conf 作业的配置

hdfs pipes -jobconf <key=value>, <key=value>, … 增加/覆盖作业的配置项

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个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值