1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 《尚硅谷大数据Hadoop》教程

《尚硅谷大数据Hadoop》教程

时间:2023-05-10 21:51:23

相关推荐

《尚硅谷大数据Hadoop》教程

尚硅谷大数据Hadoop教程

概论入门HDFSMapReduceYARN

由于对这方面的知识只是做一个了解,所以详细的东西并不会做笔记。

概论

大数据的特点

海量、高速、多样、低价值密度

入门

概念

Apache基金会所开发的分布式系统基础架构。主要解决海量数据的存储和海量数据的分析计算问题。广义上说,Hadoop通常指一个更广泛的概念—Hadoop生态圈。

Hadoop优势

高可用性、高扩展性、高效性、高容错性

Hadoop组成

Hadoop1.x:Common(辅助工具)、HDFS(数据存储)、MapReduce(计算+资源调度)

Hadoop2.x:Common(辅助工具)、HDFS(数据存储)、MapReduce(计算)、Yarn(资源调度)

Hadoop3.x:组成没变

HDFS:Hadoop Distribute File System。

NameNode(nn):存储文件的元数据

DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和

Secondary Namenode(2nn):每隔一段时间对NameNode元数据备份

YARN:Yet Another Resource Negotiator:另一种资源协调者

管理CPU和内存。

Resource Manager(RM):整个集群资源的老大

Node Manager(NM):单个节点服务器资源的老大

Application Master(AM):单个任务运行的老大

Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络

MapReduce

Map:并行处理输入数据

Reduce:对Map结果进行汇总

大数据技术生态体系

数据层:数据库(结构化数据)、文件日志(半结构化数据)、视频等(非结构化数据)

数据传输、存储层:Kafka、HDFS、HBase

资源管理层:YARN

数据计算层:Hive、Spark、Flink、Storm

任务调度层:Oozie、Azkaban

ZooKeeper:数据平台配置和调度

业务层

集群配置

NameNode和SecondaryNameNpde不要安装在同一台服务器

ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上

常用端口号

HDFS NameNode 内部通讯端口:8020/9000/9820

HDFS NameNode 对用户的查询端口:9870

Yarn查看任务运行情况:8088

历史服务器:19888

其他有用的操作

集群时间同步、集群同步脚本sync,scp

HDFS

产生背景:解决海量数据存储的问题。通过目录树的方式来定位文件;其次,他是分布式的。HDFS适合一次写入,多次读出的场景

优缺点:

优点:高容错性,适合处理大数据、可构建在廉价机器上

缺点:不适合低延时数据访问、无法高效的对大量小文件进行存储、不支持并发写入、文件随机修改

HDFS的组成

HDFS文件块大小

可以配置,通常为128M。寻址时间为传输时间的1%时为最佳状态。

为什么块不能设置为太大,也不能设置太小?太小,增加寻址时间。太大,传输时间太久。

HDFS相关命令

主要是上传下载文件等文件操作,具体命令略。

HDFS相关Java API,这个查文档就能查到。

HDFS写流程

HDFS读数据流程

NN和2NN的工作机制

DN工作机制

和NN之间的通讯有点像redis集群里面的主节点与从节点之间的关系。NN是主节点,DN是从节点。

MapReduce

定义

MapReduce是一个分布式运算程序框架,使用户”基于Hadoop的数据分析应用“的核心框架

优点:易于编程(因为他是一个框架)、良好扩展性、高容错性、适合海量数据计算(TB/PB级)

缺点:不擅长实时计算、不擅长流式计算、不擅长有向无环图计算

核心编程思想

主要是分成两个阶段,即Map和Reduce。

序列化

将一个服务器内存中的数据传输到另一台服务器的内存,这个过程会用到序列化反序列化。

原理

在shuffle阶段进行排序、压缩、分区、合并。

InputFormat可以决定如何处理输入数据,比如说按行,指定KV。

数据切片:逻辑上讲数据切片,但是物理上不会进行切片,一个数据切片对应一个MapTask

MapTask阶段:Read、Map、Collect、溢写、Merge

Reduce阶段:Copy、Sort、Reduce

ETL

Extract-Transform-Load:数据清洗的三个阶段

YARN

如何管理集群资源?如何给任务合理分配资源?

概念

YARN是一个资源调度平台,负责为运行程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的程序。

基础架构

工作机制

YARN常用命令

查看任务:yarn application -list

查看日志:yarn logs -applicationId

查看容器:yarn container -list

查看节点:yarn node -list

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。