HDFS按照Master和Slave的结构。分为NameNode、SecondaryNameNode、DataNode这几个角色。
NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间。
SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage(元数据镜像文件,文件系统的目录树)和fsedits(元数据的操作日志,针对文件系统做的修改操作记录),然后再发给namenode。
DataNode:是Slave节点,是奴隶,干活的。负责存储客户端发来的block;执行block的读写操作。NameNode和DataNode之间的通信是通过心跳机制实现的。
Map(映射)任务处理:
读取HDFS中的文件。每一行解析成一个。每一个键值对调用一次map函数。map函数接收前面产生的,进行处理,转换为新的输出。对转换后的进行分区。对不同分区中的数据按key进行排序、分组。分组指的是相同key的value放到一个集合中。
Reduce(归约)任务处理:
多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点上。对多个map的输出进行合并、排序。覆盖reduce函数,接收的是分组后的数据,实现自己的业务逻辑,处理后,产生新的输出。对reduce输出的写到HDFS中。
关于Hadoop在大数据中有什么作用,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章能够对你有所帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。