hadoop是一个分布式系统基础架构,主要解决海量数据存储和计算问题。
多副本机制保证系统可靠性,处理节点可以动态添加/删除保证系统的可扩展性,MapReduce并行工作保证系统的高效性,失败任务默认重新分配4次执行保证系统的容错性。
HDFS存储数据,MapReduce分析计算数据,Yarn根据计算任务分发资源。
NameNode:管理文件块名称列表和对应文件块所在的DataNode,副本数量,权限信息。
DataNode:文件块数据存储的节点,NameNode上维护的信息是DataNode主动发给NameNode的,默认6个小时和hadoop重启会发送。还会主动发送心跳机制,NameNode默认在10分钟+30秒没有收到心跳则判断该DataNode节点不可用。
SecondaryNameNode:NameNode节点的辅助管理节点,辅助追加日志和元数据的合并。
Map阶段:并行处理传入数据
Reduce阶段:并行根据分区拉起Map输出结果进行汇总等处理,输出结果。
Shuffle阶段:Map阶段到Reduce阶段的中间部分,主要设置分区或根据key值进行排序/合并或中间文件压缩传输等操作。