Hadoop体系知识点梳理(目录)
手动反爬虫,禁止转载: 原博地址 https://blog.csdn.net/lys_828/article/details/118612375(CSDN博主:Be_melting)
知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息
核心点
(1)明确大数据开发的原理、思想和架构
(2)需要自己动手搭建环境:
- 学习阶段:使用Apache版本
- 生产开发:CDH、HDP、阿里、华为等
(3)开发程序时使用的语言:
- Hadoop:Java语言
- Spark:Scala语言、Java语言
- Flink:Scala语言、Java语言
第一章:Hadoop背景知识与起源
1、课程概述:目的:了解名词
2、实验环境:RedHat Linux 7.4 64位
Apache版本
Java JDK
一共需要5台虚拟机:注意:我的机器和你的机器的IP地址可能不一样
bigdata111 192.168.124.111
bigdata112 192.168.124.112
bigdata113 192.168.124.113
bigdata114 192.168.124.114
bigdata115 192.168.124.115
(1)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
(2)设置主机名 vi /etc/hosts
192.168.124.111 bigdata111
(3)安装JDK
mkdir tools/
mkdir training/
tar -zxvf jdk-8u181-linux-x64.tar.gz -C ~/training/
vi ~/.bash_profile
JAVA_HOME=/root/training/jdk1.8.0_181
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
source ~/.bash_profile
3、大数据中几个基本概念:
(*)什么是大数据?核心问题
举例:(1)商品推荐 (问题1)大量的订单如何存储?
(问题2)大量的订单如何计算?
(2)天气预报 (问题1)大量的天气数据如何存储?
(问题2)大量的天气数据如何计算?
核心问题:(1)数据存储:分布式文件系统 HDFS
(2)数据计算:分布式计算模型MapReduce、Spark RDD、Flink分区
(A)离线计算、批处理
MapReduce、Spark Core、Flink DataSet
(B)实时计算、流处理
Storm、Spark Streaming、Flink DataStream
(*)数据仓库:本质上,就是一个数据库(Oracle、MySQL);一般,只做查询select
Hadoop、Spark、Flink、NoSQL都可以看成是数据仓库的一种实现方式。
数据仓库的搭建过程(画图)
数据仓库又是一种OLAP的应用
(*)OLTP、OLAP
OLTP:online transaction processing 联机事务处理:insert update delete commit rollback
OLAP:online analytic processing 联机分析处理:select
4、(重点)Google的三篇论文:三驾马车-----> 原理
(1)GFS:Google File System ----> HDFS:Hadoop Distributed File System
画图:分布式文件系统的基本原理
HDFS:主节点:NameNode
从节点:DataNode
(2)MapReduce分布式计算模型 ----> 问题来源:PageRank(网页排序)问题
Page 网页
Rank 分数
举一个更简单一点的例子,来解释MapReduce计算模型(MapReduce编程模型)
Demo:wordcount
位置:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
命令:hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/0223
Yarn:主节点:ResourceManager
从节点:NodeManager
(3)BigTable大表 -----> NoSQL数据库:HBase
回顾:关系型数据库,需要遵循范式的要求。范式的优点是:减少数据冗余
范式的缺点:影响性能
关系型数据库是行式数据库,适合insert update select
大表思想:把所有的数据存入一张表中。不遵循范式要求。
通过牺牲空间,提高性能。
HBase是列式数据库,适合做select
对比:Oracle的表结构和HBase的表结构
第二章:搭建Hadoop环境
1、Hadoop的目录结构
2、Hadoop的本地模式
3、Hadoop的伪分布模式
4、免密码登录的原理和配置
5、Hadoop的全分布模式
第三章:HDFS体系架构
1、HDFS分布式文件系统
(1)NameNode:名称节点
(2)DataNode:数据节点
(3)SecondaryNameNode:第二名称节点
2、Yarn:资源任务调度的容器(平台),执行MapReduce程序
(1)ResourceManager
(2)NodeManager
Yarn如何进行资源的分配:三种分配的方式
3、HBase的体系架构和表结构
第四章:HDFS
1、操作HDFS:Web Console、命令行、Java API
2、HDFS的原理解析(画图)
(1)数据上传的过程和原理
(2)数据下载的过程和原理
3、HDFS的高级功能
(1)回收站
(2)快照:Snapshot,是一种备份
(3)配额:Quota,名称配额、空间配额
(4)安全模式:safemode
(5)权限管理:类似Linux
4、HDFS的集群简介:联盟、HA
5、底层原理的实现
(1)代理对象Proxy
(2)RPC:remote procedure call 协议
第五章:MapReduce
1、经典案例:单词计数WordCount,实现这个过程
2、功能特性
(1)序列化:Writable接口
(2)排序
(3)分区:非常重要,画图来解释
(4)Combiner合并:优化的方式
(5)MapReduce的核心:Shuffle洗牌
3、MapReduce的编程案例
(1)数据去重
(2)多表查询:类似SQL语句,补充讲一下数据库中的多表查询
(3)实现倒排索引:原理会在HDFS中讲
(4)使用MRUnit进行MapReduce的单元测试
第六章:Hbase
1、表结构和体系架构
2、搭建HBase的环境
(1)本地模式
(2)伪分布模式
(3)全分布模式
(4)HA
3、操作HBase:Web Console、命令行、Java API
4、HBase的过滤器:类似where条件
5、HBase中的MapReduce
第七章:Hive
都是Hadoop中的数据分析引擎,支持SQL语句
第八章:Pig
都是Hadoop中的数据分析引擎,支持PigLatin
第九章:Sqoop
实现数据采集,采集的是关系型数据库,基于JDBC
第十章:Zookeeper与HA
1、什么是ZooKeeper?功能特性、环境搭建
2、基于ZooKeeper实现Hadoop的HA:解决大数据主从架构的单点故障问题
3、HDFS的联盟:Federation
第十一章:HUE
基于Web的管理工具