HDFS shell操作

常用命令详情见官网http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/FileSystemShell.html
将hadoop的bin目录配置进环境变量里面,便于操作
vim /etc/profile
在底部添加路径即可

export HADOOP_HOME=/home/zq/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH

HDFS shell操作_第1张图片
然后输入source /etc/profile使得修改立即生效,并输入echo加系统变量名测试是否正确
在这里插入图片描述

这样在linux的任意路径下输入hdfs都可以得到命令提示信息,输入hdfs dfs可以得到具体信息
HDFS shell操作_第2张图片
主要如下:其实和Linux的常用命令基本一致
1.ls
2.mkdir
3.put(copyFromLocal)
4.get(copyToLocal)
5.rm
hdfs dfs和hadoop fs一样
区别copyFromLocal和moveFromLocal,copyToLocal和moveToLocal
move是移动文件,改变了源文件的地址,而copy不改变源文件的地址
如图:

hadoop fs -ls /
查看hdfs当前文件

HDFS shell操作_第3张图片
进入创建好的data目录里面,将文件上传至hdfs里面
hadoop fs -put hello.txt /
然后输入hadoop fs -ls /  即可看到文件上传成功了
HDFS shell操作_第4张图片
也可以通过浏览器看到
HDFS shell操作_第5张图片
hadoop fs -text /hello.txt或者hadoop fs -cat /hello.txt查看文件内容
hadoop fs -mkdir /test 在根目录下创建文件夹
默认不能创建递归文件夹 如/test/a/b是不行的
可以指定,如hadoop fs -mkdir -p /test/a/b
hadoop fs -lsr / 或者hadoop fs -ls -R / 递归显示所有文件及文件夹信息
hadoop fs -copyFromLocal hello.txt /test/a/b/h.txt 复制文件
hadoop fs -get hello.txt /test/a/b/h.txt 复制文件到本地目录
hadoop fs -rm /hello.txt 删除文件,要想删除文件夹需要递归,加上-R即可

注意:
HDFS文件系统是分块的,每个块的大小是128M,由于上文那个hello.txt只有13B,所以为Block 0
HDFS shell操作_第6张图片
点击Download可以直接下载到本地
比如:当上传的文件为256M时,这个时候就会显示为Block 2.

你可能感兴趣的:(大数据平台Hadoop生态系统,hadoop大数据平台学习总结)