大数据技术基础实验报告-HDFS常用操作命令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大数据技术基础实验报告-HDFS常用操作命令实验内容:
1. 开启HDFS
start-dfs.sh
2. 查看在终端中我们操作HDFS的命令
hdfs dfs
3.命令行客户端支持的命令参数
hadoop fs [-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-checksum <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] <localsrc> ... <dst>]
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] <path> ...]
[-cp [-f] [-p] <src> ... <dst>]
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] <path> ...]
[-expunge]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] <localsrc> ... <dst>]
[-renameSnapshot <snapshotDir> <oldName> <newName>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]] [-setrep [-R] [-w] <rep> <path> ...]
[-stat [format] <path> ...]
[-tail [-f] <file>]
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
[-usage [cmd ...]]
图中显示很多命令选项信息,以上截图补全,下面的表格能够完整的列出了支持的命令选项。
选项名称使用格式含义
-ls -ls <路径> 查看指定路径的当前目录结构
-lsr -lsr <路径> 递归查看指定路径的目录结构
-du -du <路径> 统计目录下个文件大小
-dus -dus <路径> 汇总统计目录下文件(夹)大小
-count -count [-q] <路径> 统计文件(夹)数量
-mv -mv <源路径> <目的路径> 移动
-cp -cp <源路径> <目的路径> 复制
-rm -rm [-skipTrash] <路径> 删除文件/空白文件夹
-rmr -rmr [-skipTrash] <路径> 递归删除
-put -put <多个linux 上的文件> <hdfs 路径> 上传文件
-copyFromLocal -copyFromLocal <多个linux 上的文件>
<hdfs 路径> 从本地复制
-moveFromLocal -moveFromLocal <多个linux 上的文件>
<hdfs 路径> 从本地移动
-getmerge -getmerge <源路径> <linux 路径> 合并到本地
-cat -cat <hdfs 路径> 查看文件内容
-text -text <hdfs 路径> 查看文件内容
-copyToLocal -copyToLocal [-ignoreCrc] [-crc] [hdfs 源路径] [linux 目的路径] 从本地复制
-moveToLocal -moveToLocal [-crc] <hdfs 源路径> <linux目的路径> 从本地移动
-mkdir -mkdir <hdfs 路径> 创建空白文件夹
-setrep -setrep [-R] [-w] <副本数> <路径> 修改副本数量
-touchz -touchz <文件路径> 创建空白文件
-stat -stat [format] <路径> 显示文件统计信息
-tail -tail [-f] <文件> 查看文件尾部信息
-chmod -chmod [-R] <权限模式> [路径] 修改权限
-chown -chown [-R] [属主][:[属组]] 路径修改属主
-chgrp -chgrp [-R] 属组名称路径修改属组
-help -help [命令选项] 帮助
3. 对目录的操作
创建目录:
hdfs dfs -mkdir /input
如果我们需要创建多级目录,我们可以在使用hdfs dfs -mkdir -p /user/hadoop
查看HDFS上的目录:
hdfs dfs -ls /
hdfs dfs -ls -R / 查看HDFS根目录下所有文件,以及子文件删除目录:
hdfs dfs -rm -r /input
4. 对文件的操作
上传文件:
hdfs dfs -mkdir /input
hdfs dfs -put /apps/hadoop/etc/hadoop/*.xml /input
hdfs dfs -ls /input
下载文件:
mkdir /root/input
hdfs dfs -get /input/*.xml /root/input
ls /root/input
复制文件:
hdfs dfs -mkdir /in
hdfs dfs -cp /input/*. xml /in
修改文件名:
hdfs dfs -mv /in /in_put
hdfs dfs -ls /
修改文件权限,所属主,
hdfs dfs -mkdir /mydata
hdfs dfs -ls /
hdfs dfs -chmod 777 /mydata
hdfs dfs -chown hadoop:hadoop /mydata
实验基本过程:
1.打开虚拟机,进入Linux系统。
2.启动hadoop:cd /usr/local/hadoop./sbin/start-dfs.sh
3.开启hdfs:start-dfs.sh
4.查看在终端中我们操作HDFS的命令
5.命令行客户端支持的命令参数
6.对目录进行操作
7.对文件进行操作
实验结果:
疑难小结(总结实验中遇到的问题):
1、集群启动后,可以查看文件,但是上传文件时报错,打开web页面可看到namenode正处于safemode状态,怎么处理?
1 ## 模拟场景如下
2 [yun@mini04 ~]$ hdfs dfsadmin -safemode get
3 Safe mode is OFF
4 [yun@mini04 ~]$ hdfs dfsadmin -safemode enter
5 Safe mode is ON
6 [yun@mini04 ~]$ hdfs dfsadmin -safemode get
7 Safe mode is ON
8 [yun@mini04 ~]$ hdfs dfsadmin -safemode leave # 关闭safemode状态
9 Safe mode is OFF
10 [yun@mini04 ~]$ hdfs dfsadmin -safemode get
11 Safe mode is OFF
2、hadoop datanode节点超时时间设置?
datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。
HDFS默认的超时时长为10分钟+30秒。
如果定义超时时间为timeout,则超时时长的计算公式为:
timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval。
而默认的heartbeat.recheck.interval 大小为5分钟,dfs.heartbeat.interval默认为3秒
主要操作过程:
打开Hadoop:
cd /usr/local/hadoop
./sbin/start-dfs.sh
查看在终端中我们操作HDFS的命令:
hdfs dfs
创建目录:
hdfs dfs -mkdir /input
查看HDFS上的目录:
hdfs dfs -ls /
hdfs dfs -ls /user
hdfs dfs -ls -R /
删除目录:
hdfs dfs -rm -r /input
上传文件:
hdfs dfs -mkdir /input
hdfs dfs -put /apps/hadoop/etc/hadoop/*.xml /input hdfs dfs -ls /input
下载文件:
mkdir /root/input
hdfs dfs -get /input/*.xml /root/input
ls /root/input
复制文件:
hdfs dfs -mkdir /in
hdfs dfs -cp /input/*. xml /in
hdfs dfs -ls /in
修改文件名:
hdfs dfs -mv /in /in_put
hdfs dfs -ls /
修改文件权限,所属主,
hdfs dfs -mkdir /mydata
hdfs dfs -ls /
hdfs dfs -chmod 777 /mydata
hdfs dfs -chown hadoop:hadoop /mydata
第11 页共11 页。