kafka大数据我爱编程

Hadoop核心项目

2018-08-22  本文已影响6人  程序员1

核心项目

HDFS的架构

Yarn的架构

MapReduce的架构

Storm的架构

分布式存储系统HadoopDFS。它是一种本地文件系统之上的更高的抽象,把跨节点的组成的文件系统看成一个逻辑上的整体。它存储的思路是,把文件分成一个个block,每个block都有一定量的副本存储在不同的节点上,默认数量是3个,这保证了分布式存储的数据的稳定性。

HDFS的架构有NameNode、SecondaryNameNode、DataNode。NameNode节点主要负责客户端传来的读写请求,保存文件的metadata。SecondaryNameNode负责帮助NameNode合并editlog。DataNode负责储存Block,向NameNode汇报block信息、发送heartbeat。

HDFS写入文件的时候:客户端通过RPC向NN调用create()方法,NN检查文件是否存在,不存在并且有权限的话就会创建一个新文件,向客户端返回一个FSDataOutputStream,用于写数据。

HDFS读文件的时候,客户端通过RPC向NN调用open()方法,NN获得每个数据块的位置信息,返回客户端FSDataInputstream,客户端调用其read()方法读取数据块。

分布式计算框架中最流行的是MapReduce。它把并行计算、容错等细节问题封装到库里,程序员只需要编写map和reduce函数就可以了。这种模型的灵感来自函数式编程中的map和reduce原语。Map函数接受KV值,输出KV值,reduce函数接收KEY和相同key构成的value的集合的迭代器,再输出KV值。

上一篇下一篇

猜你喜欢

热点阅读