Datawhale
大数据技术相关内容的导论课程:妙趣横生大数据 Juicy Big Data
分布式文件系统:管理网络中跨多台计算机存储的文件系统;解决海量数据的高效存储。
文件采取“块”的方式存储,块是数据读取的基本单元。HDFS默认一个块大小为64MB(普通文件系统磁盘块为512字节),设计比较大的块的目的是为了最小化寻址开销;同时也要避免块过大影响MapReduce并行速度。
设计:“客户机/服务器”(Client/Server)
物理结构:
HDFS(Hadoop Distribute File System)
优点:
Java
语言实现局限性:
主从(Master/Slave)结构模型
一个HDFS集群包括:
【说明】用户使用 HDFS,
客户端存储时:
客户端读取时:
【优点】提高了数据访问速度,读取一个文件时从不同 DataNode 上并发访问
多副本方式,一个数据块的多个副本被分布到不同的数据节点上
数据存储
HDFS采用了以 **机架(Rack)**为基础的数据存放策略,一个HDFS集群通常包含多个机架
HDFS 默认每个数据节点都是在不同机架上
缺点:写入数据的时候不能充分利用同一机架内部机器之间的带宽
优点:1. 很高的数据可靠性
2. 多机架并行读取数据,提高数据读取速度
3. 更容易实现系统内部负载均衡和错误纠正
HDFS默认的冗余复制因子是 3
数据读取
数据复制
NameNode 出错
DataNode 出错
数据出错
md5
和sha1
校验、信息文件校验翻译经典 HDFS 原理讲解漫画 之一----系统构成和写数据过程_笑寒x的博客-CSDN博客
翻译经典 HDFS 原理讲解漫画 之二----读数据和容错_笑寒x的博客-CSDN博客
DataNode故障处理
NameNode 表
持续更新这两个表
数据未充分备份会启动DataNode备份(前提是HDFS至少存在一个备份)
副本布局策略
翻译经典 HDFS 原理讲解漫画 之三—容错和副本布局策略_笑寒x的博客-CSDN博客
# 拷贝目录到集群
hadoop fs -put
# 拷贝文件
hadoop fs -put # 拷贝到本地
hadoop fs -get < hdfs file or dir > < local file or dir># 拷贝并移除
hadoop fs -moveFromLocal
# 查看
hadoop fs -ls / # -R: 包含子目录下文件# 删除
hadoop fs -rm -r ...
hadoop fs -rm ...# 创建
hadoop fs -mkdir # 复制
hadoop fs -cp ... # 移动
hadoop fs -mv ...
# 统计路径下的目录个数,文件个数,文件总计大小
hadoop fs -count #显示文件夹和文件的大小
hadoop fs -du # 查看文件
hadoop fs -cat /demo.txt
hadoop fs -tail -f /demo.txt# 更改权限
hadoop fs -chown user:group /datawhale
hadoop fs -chmod 777 /datawhale
# 本地文件内容追加到hdfs文件系统中的文本文件
hadoop fs -appendToFile
这里遇到一个错误:Failed to APPEND_FILE /p1 for DFSClient_NONMAPREDUCE_985284284_1 on 192.168.137.101 because lease recovery is in progress. Try again later.
解决:hdfs dfs -appendToFile error 问题解决_故事の尾音的博客-CSDN博客_hdfs appendtofile
# 修改 hdfs-stie.xml 文件
dfs.support.append true
dfs.client.block.write.replace-datanode-on-failure.policy NEVER
dfs.client.block.write.replace-datanode-on-failure.enable true
# 改变文件在hdfs文件系统中的副本个数
hadoop fs -setrep -R 3 # 查看对应路径的状态信息
hdoop fs -stat [format] < hdfs path ># %b:文件大小
# %o:Block大小
# %n:文件名
# %r:副本个数
# %y:最后一次修改日期和时间# 手动启动内部的均衡过程(DataNode 数据保存不均衡)
hadoop balancer # 或 hdfs balancer# 管理员通过 dfsadmin 管理HDFS
hdfs dfsadmin -help
hdfs dfsadmin -report
hdfs dfsadmin -safemode
Datawhale
大数据技术相关内容的导论课程:妙趣横生大数据 Juicy Big Data