一、复习
一、大数据的概述
1. 概念
2. 4V: Volumn, variety, volecity,value
二、Hadoop的概述
1. 简介
2. 3大核心模块和1个通用模块
3. google的三篇论文
4. 生态圈(生态体系)
三、HDFS的搭建方式
1. 独立模式(本地模式):使用本地文件系统,没有相关的守护进程
2. 伪分布式模式: 分布式文件系统,虽然只有一台机器,但是相应的守护进程都是要单独运行的。
3. 完全分布式模式: 多台机器共同维护一个分布式文件系统,守护进程分布到不同的机器上。
一个namenode,多个datanode
联邦机制下可以有多个namenode同时管理分布式文件系统
四、HDFS的块
1. 解决了两个问题:负载不均衡和网络资源稀缺
2. 块的简介:
- 最小存储单元,大小相同(最后一个块除外),大小可以自定义(版本不同,默认大小不同)
- 块有副本机制,副本不能存在同一台机器上
3. 块大小的选择
- 寻址开销时间 1:100认为最优, 1指的是10ms 100就是1s.
因此考虑的是每秒传输的速率
- 考虑集群的存储能力:内存固定的情况下,块无论多大,元数据都是150个字节左右,
块还不能太大,否则传输时间比例会变大,占用整个作业的绝大部分时间。
也不能太小,否则集群的存储能力下降
五、HDFS的体系架构
--。 是一个master/slaves的主从架构模式。 一个namenode是master的角色,多个datanode是slave角色。
还有另外两个部分,是secondarynamenode,和客户端接口api。
-- 每一个组件的作用:
六、HDFS的工作机制
1. hdfs的启动流程
2. 安全模式的命令操作
3. 心跳机制
4. 检查点机制
5. 网络拓扑:以服务器之间的远近距离来简单划分网络带宽
两个服务器之间的距离:是两者到最近的祖先节点之和
6. 机架感知策略(副本冗余策略的副本位置选择)
2.8.2版之前和之后的两种情况
7. datanode的动态上下线。
七、HDFS的API
获取文件状态的API
八、HDFS的读写流程(重点)
第一章:Zookeeper的概述
1.1 Zookeeper的简介
1. 是一个分布式管理框架,用java语言编写的
2. 主要为分布式应用程序(hdfs,hbase)提供协调服务管理
3. 提供了类似于Unix的目录树结构的一个数据存储模拟
4. 提供了相应的API接口,供其他编程语言来调用。
1.2 Zookeeper集群的特点
1. 也是一个分布式集群,一个领导者(leader),多个跟随者(follower).
2. 集群中只要有半数以上的节点存活,Zookeeper集群就能正常服务。
3. 全局数据一致性:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的。
4. 更新请求按顺序进行:服务器会将所有的客户端请求按照时间顺序执行。
5. 数据更新的原子性:一次数据的更新要么成功,要么失败
6. 数据的实时性: 只要有一台服务器更新数据了,那么其他节点会快速同步该数据,保证客户端可以正常读取数据
1.3 Zookeeper的数据存储模型
Zookeeper的数据模型采用的与Unix文件系统类似的层次化的树形结构。我们可以将其理解为一个具有高可用特征的文件系统。这个文件系统中没有文件和目录,而是统一使用"节点"(node)的概念,称之为znode。znode既可以作为保存数据的容器(如同文件),也可以作为保存