HADOOP FS 常用命令使用

1.hadoop fs -get >
从DFS拷贝文件到本地文件系统

hadoop fs -get /data/input/1901 >1901

2.hadoop fs -put
从本地系统拷贝文件到DFS

hadoop fs -put data/ /

3.hadoop fs -cat >
从DFS多个part文件合并拷贝文件到本地文件系统,

hadoop fs -cat /work/filter/part* > result.txt

4.hadoop fs -rm
删除匹配pattern的指定文件

5.hadoop fs -mkdir
在指定位置创建目录

6.hadoop fs -mv
将制定格式的文件 move到指定的目标位置。当src为多个文件时,dst必须是个目录

7.hadoop fs -ls
列出在指定目录下的文件内容

8.hadoop fs -cat file:///file3 /user/hadoop/file4
将路径指定文件的内容输出到stdout。

9.hadoop jar ./hadoop-MaxTemperature.jar /data/input/ /data/output/
hadoop 执行jar 注意 后边的路径都是hdfs里边的路径而不是linux的系统路径
输出的文件 一定不能存在 否则会报错。
10. 创建目录报错:

mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x

意思为权限不够
su hdfs,使用hdfs用户操作

在hdfs里进行操作 就会有权限
hadoop fs -chmod 777 /user
如果权限不够 可以修改权限
exit 退出hdfs

也可以在haoop 配置文件中hdfs-site.xml 中设置权限为false
默认值为true,即启用权限检查。如果为 false,则禁用权限检查。

<property> 
  <name>dfs.permissions.enabled</name> 
  <value>false</value> 
</property>

11.如果报错:mkdir: `/data/input’: No such file or directory

hadoop fs -mkdir -p /data/input
  1. 创建文件

    hadoop fs -touchz /data/updata/test2.txt

13.大文件复制 distcp 利用map并行复制 速度快

hadoop distcp /data/input /data1/

只复制修改的文件

hadoop distcp -update /data/input /data1/

强制覆盖

hadoop distcp -overwrite /data/input /data1/

夸集群复制 -delete 删除 不是源目录的数据 -p 权限属性一同复制

hadoop distcp -update -delete -p hdfs://namenode1/foo hdfs://namenode2/foo

如果集群hdfs是不兼容版本 使用webhdfs协议

hadoop distcp webhdfs://namenode1/foo webhdfs://namenode2/foo

14.hadoop fs -text /data/sequence/numbers.seq
以文本形式查看顺序文件(sequenceFile) gzip文件 avro数据文件
该命令可以检测文件代码 并转换成相应的文本

15.hadoop fs -conf hadoop-localhost.xml -ls /
使用-conf 命令 调用hadoop-localhost.xml配置文件来执行命令 如果省略-conf 则使用默认配置

16 hadoop dfsadmin -safemode leave
hadoop 退出安全模式
查看是否处于安全模式

hdfs dfsadmin -safemode get

报错:Exception in thread “main” org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete /tmp/hadoop-yarn/staging/root/.staging/job_1568184982077_0003. Name node is in safe mode.
原因是namenode处在安全模式下 不能删除

17 hadoop fs -getmerge /data/output/20190828/ ~/max-temp-local
把hdfs 目录(/data/output/20190828/)里的文件 合并复制到本地文件(~/max-temp-local)

18 mapred job -logs job_1568251096924_0003
查看任务日志 后边的是jobID

19 mapred job -counter job_1568258425179_0006 'com.nqwl.mapreduce.mrunit.MaxTemperatureMapperCounter$Temperature' OVER_100
查看map任务里 设置的计数器总数 mapred job -counter <‘map类名$计数器类名称’> <计数器变量名>

20 文件系统检查工具 还可以检查特定文件

hdfs fsck /
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值