一. Hadoop
Hadoop配置:
分布式计算框架MapReduceHDFSYARN框架命令工具HDFS是一个低成本、高可靠性和高吞吐量的分布式文件系统。
MapReduce由两个阶段组成。
Map阶段Reduce阶段Map函数使用key/value对作为输入参数生成一系列写入本地磁盘的key/value对作为中间输出。 MapReduce框架会自动为每个key值汇总这些中间数据,并将具有相同key值的数据批量处理为Reduce ()函数。
reduce ) )函数以key和相应的值列表作为输入,合并key的相同值,从而生成另一系列key/value对,并将其作为最终输出写入HDFS。
Hadoop将资源管理和作业控制划分为两个独立的进程,包括作业监视、容错和重试机制。
资源管理过程工作控制过程2、HDFS原理
1、定义: HDFS是一个容错系统,可以提供高吞吐量的数据访问。 在实现中,HDFS由运行NameNode的一台服务器和运行DataNode的n台服务器组成,如下所示。
2、HDFS存储文件的型号
(1) HDFS客户端与服务器交互,将文件存储在HDFS集群中
)2) HDFS服务器根据参数切换、复制从客户端发送来的文件,并保存到HDFS的DATaNode中。
(3) HDFS的NameNode记录某个文件的元数据信息)元数据信息包括文件大小、文件路径、文件存储块位置、复制信息等)。
注意:客户端访问的文件是/data/ces.log。 在此,客户端不需要在意基础文件被划分为多少个块,每个存储块的具体位置在哪里,以及ces.log文件在服务器上有多少个副本。 对于客户端,只要可以访问/data/ces.log文件即可。
3、HDFS读取数据的流程
(1) HDFS客户端请求读取数据get /data/ces.log
)2) NameNode接收消息,并返回文件对应的元数据信息
)3)根据对应的元数据信息,请求指定的DataNode读取文件块
)4) DataNode向客户端发送相应的文件块数据流,客户端接收文件块数据流,并通过本地文本输出流将数据写入ces.log文件块。
)5)重复步骤(3)和步骤(4),最终得到完整的文件
(6)重复步骤(3)和步骤(4),最终得到完整的文件
(7)重复步骤(3)和步骤(4),最终得到完整的文件
(8)重复步骤(3)和步骤(4),最终得到完整的文件
4、HDFS刻录文件
(1) HDFS客户端向NameNode发送文件写入请求
)2) NameNode是可以根据客户端写文件的信息
)3) HDFS客户端请求写入NameNode的DataNode
)4) NameNode返回可写入DataNode的节点主机列表。 主机列表中的主机数量由配置的文件副本数量决定。
)5)客户端选择HDFS集群中的一个DataNode,要求建立数据连接并准备数据写入。
)6) DataNode可以向HDFS客户端写入数据
(7)客户端向DataNode写入数据
)8) DataNode将数据的结果信息恰当地写入客户机
(9)在DataNode之间复制数据
(10 ) DataNode之间复制数据
(11 )重复到步骤),进行剩下的文件块的写入
) 12 )写入数据后,通知NameNode,NameNode确认元数据并记录
三. MapReduce
特点:
开发简单、可扩展性高、容错性高的四、雅虎
)1) YARN框架主要由资源管理器、AppMaster、节点管理器组成。
)2)资源管理器和AppMaster实现资源的协调功能
)3) AppMaster和NodeManager一起实现任务的执行,监视任务的执行状态
)4)资源管理器和节点管理器一起管理用户计算机上的进程,组织计算
YARN实际上是一个灵活的计算平台,其目标不仅是支持MapReduce的一个计算框架,而且支持多个计算框架的共存。
好处:
资源利用率高、运输成本低的数据共享