计划搭建一套自己的数据集群平台,顺便整理下hadoop的知识,做个总结,全当是笔记
Hadoop是一个由Apache基金会所开发的分布式系统基础架构, 是存储系统及计算框架的软件框架, 主要解决海量数据存储与计算的问题,用于大数据技术中。
由n台运行着DataNode的机器组成和1台运行NameNode进程一起构成。每个DataNode 管理一部分数据,然后NameNode负责管理整个HDFS 集群的信息(存储元数据)。

hdfs结构图,查询多篇结构图,比较中意的一张,感谢躁动的青年博主
- NameNode:
- 一个中心服务器,是这个集群的管理者,负责管理HDFS的命名空间(NameSpace)、
- 配置副本策略和数据块(Block)映射信息,同时也会处理客户端读写请求。
-
- DataNode:
- 执行NameNode下达命令,DataNode执行实际的操作。
- 集群中的DataNode负责管理所在节点上的存储,实际的数据块和执行数据块的读/写操作。
-
- Client:
-
- 命令来管理及访问HDFS,与NameNode交互,获取文件的位置信息,
- 与DataNode交互,读取或者写入数据,将文件切分成一个一个的Block,然后进行存储。
-
- Secondary NameNode:
- 并非NameNode的热备。当NameNode挂掉的时候,
- 它并不能马上替换NameNode并提供服务只是辅助NameNode,分担其工作量。
- 定期合并fsimage和fsedits,并推送给NameNode。在紧急情况下,可辅助恢复NameNode
*HDFS中的数据块Block是逻辑概念,默认块为64MB,block是HDFS分布式文件系统中的文件存储的逻辑单元
MapReduce框架
由每个集群节点的一个单一主控JobTracker和一个从属TaskTracker构成。
主控JobTracker
负责资源管理,跟踪资源消耗/可用性,调度从属TaskTracker上的作业组件任务,监控这些任务,并重新运行失败任务。
从属TaskTracker
按照主控JobTracker的指示执行任务,并定期向主控JobTracker提供任务状态信息。
YARN 主要包含三大模块:
RM 拥有绝对的控制权和对资源的分配权。 AM 则会和 RM 协商资源,同时和 NM通信来执行和监控 task。
tar.gz是已经编译好的了,解压改改配置文件就能用;而src.tar.gz是源码,要编译才能用