hdfs常用命令

hdfs文件的相关操作主要使用hadoop fs、hadoop dfs、hdfs dfs 命令,以下对最常用的相关命令进行简要说明。
hadoop fs -ls  显示当前目录结构,-ls -R 递归显示目录结构
hadoop fs -mkdir  创建目录
hadoop fs -rm   删除文件,-rm -R 递归删除目录和文件
hadoop fs -put  [localsrc] [dst]  从本地加载文件到HDFS
hadoop fs -get  [dst] [localsrc]  从HDFS导出文件到本地
hadoop fs - copyFromLocal [localsrc] [dst]  从本地加载文件到HDFS,与put一致
hadoop fs -copyToLocal [dst] [localsrc]  从HDFS导出文件到本地,与get一致
hadoop fs -test -e  检测目录和文件是否存在,存在返回值$?为0,不存在返回1
hadoop fs -text  查看文件内容
hadoop fs -du  统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位
hadoop fs -tail  显示文件末尾
hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录

hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录
 

 

8,hadoop fs -test -e  检测目录和文件是否存在,存在返回值$?为0,不存在返回1

9,hadoop fs -text  查看文件内容


10,hadoop fs -du  统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位


11,hadoop fs -tail  显示文件末尾


12,hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录

13,hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录

 

 

在hadoop2.7.4(hadoop2.X)中通过hdfs管理界面查看/tmp目录出现如下错误:

Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":hadoop:supergroup:drwx------

    先开始一直纠结我是用hadoop用户登录操作的,为什么会是dr.who,dr.who其实是hadoop中http访问的静态用户名,并没有啥特殊含义,可以在core-default.xml中看到其配置,

hadoop.http.staticuser.user=dr.who

我们可以通过修改core-site.xml,配置为当前用户,

    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>hadoop</value>
    </property>

另外,通过查看hdfs的默认配置hdfs-default.xml发现hdfs默认是开启权限检查的。

dfs.permissions.enabled=true #是否在HDFS中开启权限检查,默认为true

    由于当前用户权限不足,所以无法操作/tmp目录。

解决方案:

    解决方案有两种,一是直接修改/tmp目录的权限设置,操作如下,

[hadoop@server hadoop-2.7.4]$ /bin/hdfs dfs -chmod -R 755 /tmp

   然后就可以正常访问/tmp目录下的文件了。

  

    另一种是直接hdfs的权限配置,

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

    第二种方案可以在测试环境下使用,生产环境不建议这样设置。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值