赞
踩
说明:本文为个人对HDFS课程学习的笔记,自省自查,也供他人查阅。
HDFS:分布式文件系统,适用于一次写入、多次读出的场景,不适合更改写入的数据(常见操作是追加)。
文件块:块大小通常为128MB或者256MB,HDFS块大小主要取决于磁盘传输速率。
优点:
① 高容错性:自动保存多个副本,副本丢失后能自动恢复。
② 适合处理大数据:可以处理规模大或者数量多的大数据。
③ 可建立在廉价机器上。
缺点:
① 不适合低延时数据访问。
② 无法高效对大量小文件进行存储:一个小文件占据一个文件块,占用大量内存,并且小文件存储的寻址时间会超过读取时间。
③ 不支持并发写入、 随机修改。
- # HDFS上创建文件夹
- hadoop fs -mkdir /filename
-
- # 将本地文件剪切到HDFS文件夹
- hadoop fs -moveFromLocal /本地文件路径 /HDFS文件夹路径
-
- # 将本地文件复制到HDFS文件夹
- hadoop fs -copyFromLocal /本地文件路径 /HDFS文件夹路径
-
- # 将本地文件复制到HDFS文件夹
- hadoop fs -put /本地文件路径 /HDFS文件夹路径
-
- # 将本地文件追加到HDFS文件后
- # hadoop fs -appendToFile /本地文件路径 /HDFS文件路径
- # 将HDFS文件拷贝到本地
- hadoop fs -copyToLocal /HDFS文件路径 /本地文件夹路径
- hadoop fs -get /HDFS文件路径 /本地文件夹路径
- # 类似linux命令
- hadoop fs -ls /HDFS文件路径
- hadoop fs -cat /HDFS文件路径
- hadoop fs -chmod /HDFS文件路径
- hadoop fs -cp /HDFS文件路径1 /HDFS文件路径2
- hadoop fs -mv /HDFS文件路径1 /HDFS文件路径2
- hadoop fs -rm /HDFS文件路径
- hadoop fs -setrep 3 /HDFS文件路径 #设置文件的副本数为3
写数据过程中,NameNode选择距待上传数据最近距离的DataNode接收数据。
节点距离:两个节点到达最近公共祖先的距离之和。
第一个副本在客户端所处的节点上,若客户端在集群外,则随机选一个。
第二个副本在另一个机架的随机一个节点上。
第三个副本在第二个副本所在机架的随机节点上。
NameNode和2NameNode的区别在于NN保存了最新的操作(在inprogress文件中),而2NN只有历史记录。
NameNode格式化后,将在/opt/module/hadoop-3.1.3/data/tmp/dfs/name/current目录中产生如下文件:
①Fsimage文件:HDFS元数据永久检测点,包括HDFS文件系统的所有目录和文件inode的序列化信息。
②Edits文件:存放HDFS的所有更新操作,客户端执行的写操作会首先会被记录到Edits文件中。
③seen_txid文件:保存最后一个edits的数字。
相关命令:
- # 查看fsimage文件
- # hdfs oiv -p 文件类型 -i 镜像文件 -o 输出路径
- hdfs oiv -p XML -i fsimage_000000000025 -o /fsimage.xml
-
- # 查看edits文件
- # hdfs oev -p 文件类型 -i 编辑日志 -o 输出路径
- hdfs oev -p XML -i fsimage_000000000025 -o /edits.xml
注意:hdfs-site.xml配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。