收藏 分享(赏)

HDFS应用场景、原理、基本架构及使用方法.pdf

上传人:精品资料 文档编号:10953973 上传时间:2020-01-27 格式:PDF 页数:53 大小:2.63MB
下载 相关 举报
HDFS应用场景、原理、基本架构及使用方法.pdf_第1页
第1页 / 共53页
HDFS应用场景、原理、基本架构及使用方法.pdf_第2页
第2页 / 共53页
HDFS应用场景、原理、基本架构及使用方法.pdf_第3页
第3页 / 共53页
HDFS应用场景、原理、基本架构及使用方法.pdf_第4页
第4页 / 共53页
HDFS应用场景、原理、基本架构及使用方法.pdf_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、LOGO HDFS 2.0应用场景 、原理、基本架构及使用方法 讲师:董西成 小象科技 让你的数据产生价值 2 议程 1. HDFS概述 2. HDFS基本架构和原理 3. HDFS程序设计 4. HDFS 2.0新特性 5. 总结 小象科技 让你的数据产生价值 HDFS是什么? 源自于 Google的 GFS论文 发表于 2003年 10月 HDFS是 GFS克隆版 Hadoop Distributed File System 易于扩展的分布式文件系统 运行在大量普通廉价机器上,提供容错机制 为大量用户提供性能不错的文件存取服务 小象科技 让你的数据产生价值 HDFS优点 高容错性 数据自动

2、保存多个副本 副本丢失后,自动恢复 适合批处理 移动计算而非数据 数据位置暴露给计算框架 适合大数据处理 GB、 TB、甚至 PB级数据 百万规模以上的文件数量 10K+节点 规模 小象科技 让你的数据产生价值 HDFS优点 流式 文件访问 一次性写入,多次读取 保证数据一致性 可构建在廉价机器上 通过多副本提高可靠性 提供了容错和恢复 机制 小象科技 让你的数据产生价值 HDFS缺点 低延迟数据访问 比如毫秒级 低延迟与高吞吐率 小文件存取 占用 NameNode大量内存 寻道时间超过读取时间 并发写入、文件随机修改 一个文件只能有一个写者 仅支持 append 小象科技 让你的数据产生价值

3、 7 议程 1. HDFS概述 2. HDFS基本架构和原理 3. HDFS程序设计 4. HDFS 2.0新特性 5. 总结 小象科技 让你的数据产生价值 分布式文件系统的一种实现方式 Server (10 * 1TB) 0.5 TB 1.2 TB 50 GB 100 GB file3 50 GB file1 0.5 TB file2 1.2 TB file4 100 GB Server (10 * 1TB) Server (10 * 1TB) Server (10 * 1TB) file1:node1 file2:node3 file3:node4 file4:node5 . file1

4、file2 file3 file4 file1 file1 file2 file2 file3 file4 file1:node1,node2,node3 file2:node2,node3,node4 file3:node4,mode5,node6 file4:node5,node6.node7 . 小象科技 让你的数据产生价值 HDFS设计思想 Server (10 TB) Server (10 TB) Server (10 TB) block1 block2 block3 block4 block1 block1 block2 block2 block3 block3 block4 bl

5、ock4 block1:node1,node2,node3 block2:node2,node3,node4 block3:node4,mode5,node6 block4:node5,node6.node7 . Server (10 TB) 64MB 64MB 64MB 64MB file3 50 GB block1 block2 block3 小象科技 让你的数据产生价值 HDFS架构 小象科技 让你的数据产生价值 HDFS架构 主 Master(只有一个) 管理 HDFS的名称空间 管理数据块映射信息 配置副本策略 处理客户端读写请求 Active Namenode NameNode的热

6、备; 定期合并 fsimage和fsedits,推送给NameNode; 当 Active NameNode出现故障时,快速切换为新的 Active NameNode。 Standby NameNode 小象科技 让你的数据产生价值 HDFS架构 文件切分 与 NameNode交互,获取文件位置信息; 与 DataNode交互,读取或者写入数据; 管理 HDFS; 访问 HDFS。 Client Slave(有多个) 存储实际的数据块 执行数据块读 /写 Datanode 小象科技 让你的数据产生价值 HDFS数据块( block) 文件被切分成固定大小的数据块 默认数据块大小为 64MB,可

7、配置 若文件大小不到 64MB,则单独存成一个 block 为何数据块如此之大 数据传输时间超过寻道时间(高吞吐率) 一个文件存储方式 按大小被切分成若干个 block,存储到不同节点上 默认情况下每个 block有三个副本 小象科技 让你的数据产生价值 HDFS写流程 小象科技 让你的数据产生价值 HDFS读流程 小象科技 让你的数据产生价值 HDFS典型物理拓扑 每个机架通常有 16-64 个节点 同一个机架内任意两个节点间共享1Gbps带宽 机架间带宽为 2-10Gbps 小象科技 让你的数据产生价值 HDFS副本放置策略 RackA RackB 问题: 一 个文件划分成多个 block

8、,每个block存多份,如何为每个 block选择节点存储这几份数据? Block副本放置策略: 副本 1: 同 Client的 节点上 副本 2: 不同机架中的节点上 副本 3: 与 第二 个 副本同一机架的另一个节点上 其他副本 :随机挑选 小象科技 让你的数据产生价值 HDFS可靠性策略 文件损坏 网络或者 机器失效 NameNode挂掉 常见的三种错误情况 文件损坏 网络或者 机器失效 NameNode挂掉 常见的三种错误情况 文件完整性 CRC32校验 用其他副本取代损坏文件 Heartbeat Datanode 定期向 Namenode发heartbeat 元数据信息 FSImag

9、e(文件系统镜像)、 Editlog(操作日志) 多份存储 主备 NameNode实时切换 小象科技 让你的数据产生价值 HDFS不适合存储小文件 元信息存储在 NameNode内存中 一 个节点的内存是有限的 存取大量小文件消耗大量的寻道时间 类比拷贝大量小文件与拷贝同等大小的一个大文件 NameNode存储 block数目是有限的 一 个 block元信息消耗大约 150 byte内存 存储 1亿个 block,大约需要 20GB内存 如果一个文件大小为 10K,则 1亿个文件大小仅为 1TB(但要消耗掉NameNode 20GB内存) 小象科技 让你的数据产生价值 20 议程 1. HD

10、FS概述 2. HDFS基本架构和原理 3. HDFS程序设计 4. HDFS 2.0新特性 5. 总结 小象科技 让你的数据产生价值 HDFS访问方式 HDFS Shell命令 HDFS Java API HDFS REST API HDFS Fuse:实现了 fuse协议 HDFS lib hdfs: C/C+访问接口 HDFS 其他语言编程 API 使用 thrift实现 支持 C+、 Python、 php、 C#等语言 小象科技 让你的数据产生价值 HDFS Shell命令 概览 小象科技 让你的数据产生价值 HDFS Shell命令 文件操作命令 小象科技 让你的数据产生价值 HD

11、FS Shell命令 文件操作命令 将本地文件上传到 HDFS上 bin/hadoop fs -copyFromLocal /local/data /hdfs/data 删除文件 /目录 bin/hadoop fs -rmr /hdfs/data 创建目录 bin/hadoop fs -mkdir /hdfs/data 小象科技 让你的数据产生价值 HDFS Shell命令 管理命令 小象科技 让你的数据产生价值 HDFS Shell命令 管理脚本 在 sbin目录下 start-all.sh start-dfs.sh start-yarn.sh hadoop-deamon(s).sh 单独启

12、动某个服务 hadoop-deamon.sh start namenode hadoop-deamons.sh start namenode(通过 SSH登录到各个节点) 小象科技 让你的数据产生价值 HDFS Shell命令 文件管理命令 fsck 检查 hdfs中文件的健康状况 查找缺失的块以及过少或 过多副本的 块 查看一个文件的所有数据块位置 删除损坏的数据块 小象科技 让你的数据产生价值 HDFS Shell命令 文件管理命令 fsck 小象科技 让你的数据产生价值 HDFS Shell命令 数据均衡器 balancer 数据块重分布 bin/start-balancer.sh -threshold percentage of disk capacity HDFS达到平衡状态的磁盘使用率偏差值 值越低各节点越平衡,但消耗时间也更长 小象科技 让你的数据产生价值 HDFS Shell命令 设置目录份额 限制一个目录最多使用磁盘空间 bin/hadoop dfsadmin -setSpaceQuota 1t /user/username 限制一个目录包含的最多子目录和文件数目 bin/hadoop dfsadmin -setQuota 10000 /user/username

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报