环境配置参看我前面的文章。https://blog.csdn.net/yao09605/article/details/103916116
我这里用的是Hadoop用户,
先给自己在hdfs(文件系统)上建一个工作空间
新建目录
# 必须是/user/用户名
$ hadoop fs -mkdir /user/hadoop
上传文件到分布式文件系统
我先准备了一个Shakespeare.txt放在我本地的默认工作目录,即/home/hadoop
默认也会放到远程的工作目录,即 hdfs://localhost/user/hadoop/
两种方式:
# 第1种
$ hadoop fs -copyFromLocal shakespeare.txt shakespeare.txt
# 第2种 表明绝对路径
$ hadoop fs -put /home/hadoop/shakespeare.txt hdfs://localhost/user/hadoop/shakespeare.txt
查看文件列表
$ hadoop fs -ls <path> #这里是绝对路径,从/user开始
$ hadoop fs -ls . #查看主目录,即/user/hadoop
查看文件内容
远程文件可能非常大,不是整个读过来,而是通过less 或者 more,通过管道传输
$ hadoop fs -cat shakespeare.txt | less
$ hadoop fs -tail shakespeare.txt | less #查看最后1000个字节
获取文件到本地
$ hadoop fs -get shakespeare.txt ./shakespeare.from-remote.txt
获取指定路径包含的目录数,文件数,字节数
$ hadoop fs -count /user
获取指定路径使用的空间字节数
$ hadoop fs -du -h /user
修改文件权限
$ hadoop fs -chmod 664 shakespeare.txt
其他基本上和本地文件操作类似
可以用以下命令查询用法
$ hadoop fs help