来源
面对的数据和计算难题
大量的网页怎么存储
搜索算法
给我们的关键技术和思想
GFS(google file system)
MapReduce
Bigtable
优缺点
HDFS优点
高容错性:1.数据自动保存多个副本(默认3个);2.副本丢失后,自动恢复
适合批处理:1.移动计算而非数据(在具体的datanode上进行计算,或者resourcemanager);2.数据位置暴露给计算框架
适合大数据处理:1.GB、TB、甚至PB级数据;2.百万规模以上的文件数量;3.10K+节点
可构建在廉价机器上:1.通过多副本提高可靠性;2.提供容错和恢复机制
HDFS缺点
低延迟数据访问:1.比如毫秒级;2.低延迟与高吞吐率
小文件存取:1.占用NameNode大量内存;2.寻道时间超过读取时间
并发写入、文件随机修改:1.一个文件只能有一个写者;2.仅支持append
HDFS架构
image.png
NameNode
只能有1台NameNode是Active的,要做高可用确保其稳定性。(在生存环境中NameNode和SecondaryNameNode都是独立的机器)
image.png
SecondaryNameNode
存在于1.X版本的Hadoop,在2.X版本的Hadoop中如果做了高可用就没有SecondaryNameNode了,SecondaryNameNode的合并功能会由高可用standby的NameNode去进行合并。
image.png
image.png
DataNode
由于数据保存会有3个副本,DataNode至少3台以上
image.png
DataNode的Block副本存放策略:
image.png
HDFS写流程
首先是权限认证,然后顺序写
image.png
HDFS读流程
首先是权限认证,然后顺序读
image.png
HDFS文件权限
默认是只通过用户名认证,没有密码(可以通过集成第三方进行验证,需要牺牲部分性能)
image.png
HDFS安全模式
HDFS启动后,fsimage信息在内存中,所有的后续操作(执行edits的操作)只会记录到edits中并不会更新到fsimage中,所以需要启动时运行edits的各项操作。
image.png
Hadoop 2.X产生背景
只有海量数据才会有这种情况
image.png
Hadoop 1.X 与 2.X
image.png