本系列笔记是学习 黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战 过程中自己总结和记录的笔记,分享出来方便大家学习

前期配置

配置jdk

jdk国内镜像

mkdir -p /export/server
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /export/server
ln -s /export/server/jdk1.8.0_202/ /export/server/jdk

编辑/etc/profile文件

export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin

环境变量生效

source /etc/profile

配置java执行程序软链接

rm -f /usr/bin/java
ln -s /export/server/jdk/bin/java /usr/bin/java

验证

java -version
javac -version

关闭防火墙和SELinux

systemctl stop firewalld.service 
systemctl disable firewalld.service 

vim /etc/selinux/config 

SELINUX=disabled

大数据概况

1.什么是大数据

狭义上:对海量数据进行处理的软件技术体系

广义上.数字化、信息化时代的基础支撑,以数据为生活赋能

2.大数据的 5 个主要特征

volume 体积 小

variety 种类 多

value 价值 低

velocity 速度 快

veracity 质量 低

3.大数据核心工作:

  1. 数据存储
  2. 数据计算
  3. 数据传输

存储:妥善保存海量待处理数据

计算:完成海量数据的价值挖掘

传输:协助各个环节的数据传输

大数据软件生态

image-20240220181846060

1.数据存储

Apache Hadoop - HDFS

image-20240220180423948

Apache Hadoop 框架内的组件 HDFS 是大数据体系中使用最为广泛的分布式存储技术

Apache HBase

image-20240220180433052

Apache HBase 是大数据体系内使用非常广泛的 NoSQL KV 型数据库技术HBase 是基于 HDFS 之上构建的。

Apache KUDU

image-20240220180514627

Apache Kudu 同为大数据体系中使用较多的分布式存储引擎

云平台存储组件

除此以外,各大云平台厂商也有相应的大数据存储组件,如阿里云的 OSS 、 UCIoud 的 US3 、 AWS 的 S3 、金山云的 KS3 等等

2.数据计算

Apache Hadoop - MapReduce

image-20240220180737815

Apache Hadoop 的 MapReduce 组件是最早一代的大数据分布式计算引擎对大数据的发展做出了卓越的贡献

Apache Hive

image-20240220180745645

Apache Hive 是一款以 SQL 为要开发语言的分布式计算框架。其底层使用了 Hadoop的 MapReduce 技术

Apache Hive 至今仍活跃在大数据一线/被许多公司使用。

Apache Spark

image-20240220180940088

Apache Spark 是目前全球范围内最火热的分布式内存计算引擎。是大数据体系中的明星计算产品

Apache FIink

image-20240220180947195

Apache Flink 同样也是一款明星级的大数据分布式内存计算引擎。特别是在实时计算(流计算)领域, FIink 占据了大多数的国内市场。

3.数据传输

Apache Kafka

image-20240220181616487

Apache Kafka 是一款分布式的消息系统,可以完成海量规模的数据传输工作。Apache Kafka 在大数据领域也是明星产品

Apache PuIsar

image-20240220181628202

Apache PuIsar 同样是一款分布式的消息系统。在大数据领域同样有非常多的使用者。

Apache FIume

image-20240220181753811

Apache FIume 是一款流式数据采集工具/可以从非常多的数据源中完成数据采集传输的任务。

Apache Sqoop

image-20240220181800193

Apache sqoop 是一款 ETL 工具,可以协助大数据体系和关系型数据库之间进行数据传输。

Apache Hadoop 概述

1.Apache Hadoop 框架

Hadoop 是 Apache 软件基金会下的顶级开源项目,用以提供:

  • 分布式数据存储
  • 分布式数据计算
  • 分布式资源调度

为一体的整体解决方案。

Apache Hadoop 是典型的分布式软件框架,可以部署在 1 台乃至成千上万台服务器节点上协同工作。个人或企业可以借助 Hadoop 构建大规模服务器集群,完成海量数据的存储和计算。

image-20240220183726594

通常意义上, Hadoop 是一个整体,其内部还会细分为三个功能组件,分别是:

  • HDFS组件: HDFS 是 Hadoop 内的分布式存储组件可以构建分布式文件系统用于数据存储
  • MapReduce组件: MapReduce 是 Hadoop 内分布式计算组件。提供编程接口供用户开发分布式计算程序
  • YARN组件: YARN 是 Hadoop 内分布式资源调度组件。可供用户整体调度大规模集群的资源使用。

2.Hadoop 的发展

image-20240220184318633

lladoop 创始人: Doug Cuttinglladoop

起源于 Apache Lucenef 项目: Nutch

Nutch 的设计目标是构建一个大型的全网搜索引擎。

遇到瓶颈:如何解决数十亿网页的存储和索引问题

Google 三篇论文

《 The Google file system 》:谷歌分布式文件系统 GFS

《 MapReduce : Simplified Data Processing on Large Clusters 》:谷歌分布式计算框架 MapReduce

Bigtable: A Distributed Storage System for Structured Data 》:谷歌结构化数据存储系统

image-20240220184734145

Hadoop 发行版本

image-20240220184840558
Apache 开源社区版本

http://hadoop.apache.org/

商业发行版本
  • CDH (CIoudera's Distribution, including Apache Hadoop) Cloudera 公司出品目前使用最多的商业版
  • HDP (Hortonworks Data PIatform )/ Hortonworks 公司出品/目前被 Cloudera 收购
  • 星环/国产商业版,星环公司出品,在国内政企使用较多
是一名喜欢每天折腾的咸鱼! 也是一名半退役的算竞摸鱼选手,参与过icpc,天梯赛,蓝桥等比赛. --------------------------------------------------- 百度 飞桨领航团-团长 Datawhale -专业助教 上海人工智能实验室 书生·浦语实战营- 助教 --------------------------------------------------- 认证类: 华为 Harmony OS应用开发者高级认证, NISP 一级认证, H3C NE-RS网络工程师认证 --------------------------------------------------- 荣获奖项荣誉: 第十八届“挑战杯”全国大学生课外学术科技作品竞赛 “揭榜挂帅”专项赛-全国特等奖、 “美亚杯”第八届中国电子取证大赛 三等奖、 “蓝桥杯”国优、 中国高校计算机大赛-团体程序天梯赛 省高校一等奖、 “蓝桥杯”省一等奖、 H3C新华三杯 省三等奖、 中国移动“梧桐杯”大数据创新大赛 省三等奖、 百度 飞桨领航团 金牌团长
最后更新于 2024-03-09