hdfs优点
- 高容错性
- 适合处理大数据
- 可构建再廉价的机器上
hdfs缺点
- 不适合做低延迟数据访问
- 毫秒级的存储数据做不到
- 无法高效的对大量小文件进行存储
- 不支持并发写入 文件随机修改
- 一个文件只能有一个writer 不允许多个线程同时写
- 仅支持数据追加 不支持文件的随机修改
hdfs组织结构
namenode 就是master 他是一个主管 管理者
- 管理hdfs的名称空间
- 配置副本策略
- 管理数据块映射信息
- 处理客户端读写请求
datanode 就是slave namenode下达命令 datanode执行实际的存储
- 存储实际的数据块
- 执行数据块的读写操作
client 就是客户端
- 文件切分 文件上传hdfs的时候 client讲文件切分成一个一个的block 然后进行上传
- 与namenode交互 获取文件的位置信息
- 与datanode交互 读取或者写入数据
- client 提供一些命令来管理hdfs
- cleint 可以通过一些命令来访问hdfs
secondary namenode 并非namenode 热备 当name挂掉的时候 他并不能马上替换namenode 并提供服务
- 辅助namenode 分担工作量
- 紧急情况 可辅助恢复namenode
hdfs 文件块大小
- hdfs的文件在物理上是分块存储 块的大小可以通过配置参数来规定 dfs.blocksize 默认大小在hadoop 128m
- 如果寻址时间约为10ms, 即查找到目标block的时间为 10ms。
- 寻址时间为传输时间的1% 时,则为最佳状态。(专家) 因此,传输时间 =10ms/0.01=1000ms=1s
- 而目前磁盘的传输速率普 遍为100MB/s。