本文是传智播客hadoop开发学习笔记
hadoop主要分为三个模块:
HDFS、MapReduce、Yarn
hadoop具体能干什么:
hadoop擅长日志分析
海量数据存储
hadoop具有很多节点,节点叫DataNode。
每一个块在节点上存多个副本。
海量数据计算
map本地局部处理。
reduce通过网络取得其他节点的统计结果。
HDFS的实现思想:
- hdfs是通过分布式集群来存储文件,为客户端提供了一个便捷的访问方式,就是一个虚拟的目录结构。
- 文件存储到hdfs集群中去的时候是被切分成block的
- 文件的block存放在若干台DataNode节点上。
- hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理。
- 每一个block在集群中会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量。
HDFS 上传文件
- 客户端向NameNode申请上传文件
- NN向客户端返回分配的DataNode
- 客户端向DataNode写入Block数据(1号块,2号块,3号块。切分是由客户端切分的。按照偏移量写。)
- DN向其他DN再复制两个副本