概述
HDFS(Hadoop Distributed File System)是GFS的开源实现。
HDFS的优缺点
1、优点
- 因为有多个副本,可以保证数据可靠,容错性高
- 计算向数据移动,适用于批处理
- 适合大数据处理,GB、TB、PB级数据,百万以上的文件,十万以上的节点
- 可以构建在廉价机器上,通过多副本提高可靠性
2、缺点
- 不支持低延迟的数据访问,无法再毫秒之内返回结果
- 小文件对于HDFS是致命的,会占用大量的NameNode的存储空间
- 并发写入和文件随机修改困难,因为它一个文件在同一时刻只能有一个写入者,而且只支持append
HDFS的写流程
写流程如下:
1、客户端访问NameNode,NameNode检查路径和权限,如果路径中有与要上传的文件重名的文件就不能上传了,不能覆盖,如果没有才创建,创建名为file.copying的临时文件;
2、NameNode触发副本放置策略,如果客户端在集群内的某一台机器,那么副本第一块放置在该服务器上,然后再另外挑两台服务器;如果在集群外,namenode会根据策略先找一个机架选出一个da