大数据技术——Hadoop
- Hadoop概述
- Hadoop 运行环境搭建
1.Hadoop概述
1.1Hodoop是什么?
1)Hadoop 是一个由Apache基金会所开发的分布式系统基础框架。
2)主要功能是处理海量数据的存储和海量数据的分析计算问题。
3)在广义上来说,Hadoop并不是单指一个技术和工具,它代表一个更广泛的概念——Hadoop生态圈。
1.2Hadoop发展历史(了解)
创始人:Doug Cutting
Hadoop的大数据思想之源是来自Google在大数据方面的的三篇论文
GFS --->HDFS
Map-Reduce --->MR
BigTable --->HBase
1.3Hadoop三大发行版本(了解)
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache 版本最原始(最基础)的版本,对于入门学习最好。2006
Cloudera 内部集成了很多大数据框架,对应产品 CDH。2008
Hortonworks 文档较好,对应产品 HDP。2011
Hortonworks 现在已经被 Cloudera 公司收购,推出新的品牌 CDP。
- 4Hadoop优势
(1)高可靠性:Hadoop底层维护多个数据副本,所以即便Hadoop某个计算元素或储存故障,也不会导致数据的丢失。
(2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
(3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
(4)高容错性:能够自动将失败的任务重新分配。
1.5 Hadoop组成
这边给大家强化一个关于面试或者刷题中出现的一个问题:
所谓的 Hadoop1.X、2.X、3.X的区别?
1.5.1 HDFS框架概述
Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。
HDFS中包含了主要的三个组件:
1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、
文件权限),以及每个文件的块列表和块所在的DataNode等。(记录每个文件块存储的位置)
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。 (具体存储数据的位置)
3)Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份。
1.5.2 YARN 架构概述
Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器。
1.5.3 MapReduce 架构概述
MapReduce 将计算过程分为两个阶段:Map 和 Reduce
1)Map 阶段并行处理输入数据
2)Reduce 阶段对 Map 结果进行汇总
1.5.4 HDFS\YARN\MapReduce 三者关系
1.6 大数据技术生态体系
图中涉及的技术名词解释如下:
1)Sqoop:Sqoop 是一款开源的工具,主要用于在 Hadoop、Hive 与传统的数据库(MySQL)
间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进
到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。
2)Flume:Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,
Flume 支持在日志系统中定制各类数据发送方,用于收集数据;
3)Kafka:Kafka 是一种高吞吐