cda是什么文件(大数据分析之HDFS文件系统的操作)
导读:CDA数据分析师 出品 HDFS 是一个分布式文件系统, 就像任何其它文件系统, 它允许用户使用 shell 命令操作文件系统。接下来我们结合之前搭建好的分布式集群通过H
CDA数据分析师 出品
HDFS 是一个分布式文件系统, 就像任何其它文件系统, 它允许用户使用 shell 命令操作文件系统。接下来我们结合之前搭建好的分布式集群通过HDFS的shell命令行交互来进一步认识HDFS,并演示怎样使用 HDFS shell 命令。值得注意的是, HDFS 命令大多与 Unix 命令有一对一的关系。
首先打开我们的master、slave1、slave2三台虚拟机,然后在master的终端中输入如下命令来启动HDFS,
start-dfs.sh
启动过程如下图所示,启动完成后执行命令jps查看进程是否启动
创建路径mkdir
如果你的 HDFS home 目录不存在,请先创建它并修改权限。
创建 HDFS home 目录的命令如下:
hdfs dfs –mkdir /user
hdfs dfs –mkdir /user/hduser #这样的用法只能一级一级创建目录,父目录不存在使用此命令会报错
或者
hdfs dfs –mkdir –p /user/hduser #所创建的目录如果父目录不存在就创建该目录
上面创建的/user/hduser 相当于 HDFS 中的用户当前目录,后面可以看到复制文件时无需指定绝对目录。
查看目录ls
运行下面的命令, 列出 HDFS home 目录的内容。
hdfs dfs –ls #列出用户主目录的内容
hdfs dfs –ls / #列出 hdfs 文件系统根目录下的目录和文件
hdfs dfs –ls –R /#列出hdfs文件系统所有目录
读取文档cat
HDFS 文件系统有一个/作为根目录。如下面的命令是读取/user/hduser/fib.csv 文件并打印到屏幕上, 就像 Unix 系统中的 cat 命令:
hdfs dfs –cat /user/hduser/fib.csv
更改文件属性chmod chown
HDFS中针对文件和目录的权限模式与传统操作系统类似,一共提供三类权限模式:只读权限(r)、写入权限(w)、可执行权限(x)。读取文件或列出目录内容时需要只读权限,写入一个文件或是在一个目录上新建及删除文件、目录需要写入权限。不过可执行权限可以忽略,因为你不可能在hdfs上执行一个文件,这是与一般操作系统的文件系统是有区别的地方。修改 HDFS home目录权限的命令如下:
hdfs dfs –chmod –R 755 /user/hduser
hdfs dfs –chown hduser /user/hduser
上传文档
运行下面的命令, 在你的 HDFS home 目录中创建一个新的 input 目录:
hdfs dfs –mkdir input
运行如下的命令来列出在 HDFS 重新创建的目录的内容:
hdfs dfs -ls input
运行如下的命令, 将本地 readme.txt 文件拷贝到 input 目录中:
hdfs dfs –copyFromLocal readme.txt input
或
hdfs dfs –put readme.txt input # hdfs file 的父目录一定要存在, 否则命令不会执行
运行如下的命令, 将本地文件夹 wc-input 上传到 HDFS 文件系统:
hdfs dfs –copyFromLocal wc-input .
或者
hdfs dfs –copyFromLocal wc-input input/wc-input
运行如下的命令, 列出 input 目录:
hdfs dfs –ls input
从键盘读取输入到 hdfs
命令格式如下:
hdfs dfs –put - <hdfs file>
从键盘读取输入到 hdfs file 中,按 Ctrl+D 结束输入,hdfs file不能存在,否则命令不会执行,
将本地文件移至hdfs moveFromLocal
hdfs dfs –moveFromLocal <local src>…<hdfs dst>
与 put 相类似,命令执行后源文件 local src 被删除, 也可以从从键盘读取输入到 hdfs file 中
copyFromLocal
hdfs dfs –copyFromLocal <local src>…<hdfs dst>
与 put 相类似, 也可以从从键盘读取输入到 hdfs file 中.
get
hdfs dfs –get <hdfs file> <local file or dir>
local file 不能和 hdfs file 名字不能相同, 否则会提示文件已存在, 没有重名的文件会复制到本地
hdfs dfs –get <hdfs file or dir> …<local dir>
拷贝多个文件或目录到本地时 本地要为文件夹路径注意: 如果用户不是 root, local 路径要为用户文件夹下的路径, 否则会出现权限问题
copyToLocal
hdfs dfs –copyToLocal <local src> …<hdfs dst>
与 get 相类似
rm
删除文件或目录
hdfs dfs –rm <hdfs file> … #删除一个文件
hdfs dfs –rm –r <hdfs dir> … #每次删除多个文件或目录
cp
hdfs dfs –cp <hdfs file> <hdfs file>
目标文件不能存在, 否则命令不能执行, 相当于给文件重命名并保存, 源文件还存在
hdfs dfs –cp <hdfs file or dir> …<hdfs dir>
目标文件夹要存在, 否则命令不能执行
mv
hdfs dfs –mv <hdfs file > <hdfs dir>
目标文件不能存在, 否则命令不能执行, 相当于给文件重命名并保存, 源文件不存在
hdfs dfs –mv <hdfs file or dir > … <hdfs dir>
源路径有多个时, 目标路径必须为目录, 且必须存在。注意: 跨文件系统的移动(local 到 hdfs 或者反过来) 都是不允许的
count
hdfs dfs –count <hdfs path >
统计 hdfs 对应路径下的目录个数, 文件个数, 文件总计大小显示为目录个数, 文件个数, 文件总计大小, 输入路径
tail
hdfs dfs –tail <hdfs file >
dfsadmin
hdfs dfsadmin –help
管理员可以通过 dfsadmin 管理 HDFS, 用法可以通过上述命令查看hdfs dfsadmin –report
hdfs dfsadmin –report
显示文件系统的基本数据
hdfs dfsadmin –safemode <enter|leave|get|wait>
enter: 进入安全模式; leave: 离开安全模式; get: 获知是否开启安全模式;wait: 等待离开安全模式
更多行业干货及优质内容,点击左下方【了解更多】立即进入!版权声明:本文部分来自互联网,由小编精心所写,本文地址:http://www.zhubian88.cn/shcs/39649.html,如需转载,请注明出处!