大数据部门组织结构
Hadoop是什么
- Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
- 主要解决海量数据的存储和分析计算问题。
- Hadoop通常指一个更广泛的概念——Hadoop生态圈。
Google是Hadoop思想之源(Google在大数据方面的三篇论文)
- GFS -> HDFS
- Map-Reduce -> MR
- BigTable -> HBase
Hadoop三大发行版本
- Apache版本最原始(最基础)的版本,对于入门学习最好。
- Cloudera在大型互联网企业中用的较多。(收费)
- Hortonworks文档较好。
Hadoop的优势
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据丢失。
- 高扩展性:在集群间分配任务数据,可方便扩展节点。
- 高效性:在Map-Reduce思想下,Hadoop是并行工作的,以加快任务处理速度。
- 高容错性:能够自动将失败的任务重新分配。
Hadoop组成*
Hadoop2.x时,增加Yarn。Yarn只负责资源的调度,MapReduce只负责运算。‘
HDFS架构概述
HDFS(Hadoop Distributed File System)
HDFS可靠性:
冗余副本策略
机架策略(副本尽量分布在不同机架结点中,人为通过py脚本设置)
心跳机制(NameNode周期性从datanode接受心跳信号和块报告,并按情况做修复)
安全模式(NameNode启动先经过“安全模式”阶段,要一定比例数据的副本数达标才离开)
Block的说明
默认大小64M,当NameNode读取block时候,它会计算校验和,若计算后校验和与block创建时值不一样,说明block已经损坏。
- NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的快列表和快所在的DataNode等。
- DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
- Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
YARN架构概述 如图
Yet Another Resource Negotiator
ApplicationMaster(AM):1.负责数据切分 2.为应用程序申请资源并分配给内部的任务 3.任务的监控和容错
Container:Container是YARN中的资源抽象,在封装了某个结点上的多维资源,如内存、CPU、磁盘、网络等。
MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce
1)Map阶段并行处理输入数据。
2)Reduce阶段对Map结果进行汇总。
Hive介绍
Hive是Hadoop项目中的一个子项目,被视为一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并可以将sql语句转化为MapReduce任务进行运行。
优点:学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分时候数据仓库的统计分析。