目录=
一、概念
1.1 Hadoop是什么
- apache的分布式系统基础架构
- Hadoop实际上是一个生态圈,里面有多个组件,主要解决海量数据存储和分析计算问题
1.2 历史
- Hadoop是Apache Lucene创始人 Doug Cutting 创建的。最早起源于Nutch,它是Lucene的子项目。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题:如何解决数十亿网页的存储和索引问题。
- 2003年Google发表了一篇论文为该问题提供了可行的解决方案。论文中描述的是谷歌的产品架构,该架构称为:谷歌分布式文件系统(GFS),可以解决他们在网页爬取和索引过程中产生的超大文件的存储需求。
- 2004年 Google发表论文向全世界介绍了谷歌版的MapReduce系统。
- 同时期,以谷歌的论文为基础,Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP
- 到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。
- 2006年Google发表了论文是关于BigTable的,这促使了后来的Hbase的发展。
因此,Hadoop及其生态圈的发展离不开Google的贡献。
1.3 三大发行版本(了解)
- Apache 最基础的版本,完全开源免费
- CDH,集成了大数据框架 发行版本
- HDP,Ambari是HDP的安装工具和管理界面
Cloudera公司已经正式终止了对CDH的支持。分别在2021年12月、2022年3月,Cloudera正式终止了对HDP(Hortonworks Data Platform)及CDH的支持
后续推出CDP,新一代数据平台产品,它整合了HDP和CDH的功能并进行了优化和扩展。
1.4 优势
- 高可靠性:底层维护多个数据副本,避免故障时数据丢失
- 高扩展性:集群间分配任务数据,方便扩展节点,动态扩容缩减
- 高效性:并行工作
- 高容错性:自动将失败的任务重新分配
1.5 组成💗
Hadoop1.x、2.x、3.x的区别
- Hadoop1.*中MapReduce中计算和资源调度同时处理,耦合性比较大
- Hadoop2.*新增了YARN进行资源调度,MapReduce只用来计算
- Hadoop2和3在组成上没有区别
1.6 HDFS架构
分布式文件系统
- NameNode 数据存储位置(存储文件元数据,如:文件名 目录结构 文件属性 所在位置),相当于目录
- DataNode 存储数据,相当于内容
- 2NN 辅助NameNode工作(每隔一段时间对NameNode做数据备份)
1.7 YARN架构
资源管理器
- Resource Manager 集群资源管理(内存、cup)
- Node Manager 单节点资源管理
- Container 容器,相当于一台独立服务器
- ApplicationMaster,单个任务资源管理
1.8 MapReduce概述
- map阶段,并行处理输入数据
- reduce阶段,对map结果汇总
1.9 HDFS\YARN\MapReduce关系
大数据技术生态体系
二、环境准备
目标:需要准备3台虚拟机(本次使用Ubuntu24.04,但是教程大多是Centos,大差不差),机器名为hadoop102、hadoop103、hadoop104,对应ip:192.168.10.102、192.168.10.103、192.168.10.104
2.1 准备模版虚拟机
软件操作系统安装参考:(这部分没有详细记录,一般使参考视频和博客,要细心)
VMware 虚拟机图文安装和配置 Ubuntu Server 22.04 LTS 教程_00-installer-config.yaml-CSDN博客