Hadoop期末整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)
1、凡是数据量超过一定大小,导致常规软件无法在一个可接受的时间范围内完成对其进行抓取、管理和处理工作的数据即可称为大数据。
2、四个特征:体量、多样性、价值密度、速度
3、3个维度对大数据进行分析:数据量大小、数据类型、数据时效性
4、数据处理平台的基础架构6个主要的基本组件:数据集成、文件存储、数据存储、数据计算、数据分析、平台管理。
5、可以归纳为三类问题:大数据存储、高性能计算和系统容错性
1、Hadoop的核心由3个子项目组成:Hadoop Common、HDFS、MapReduce
(二)
2、HDFS组件:
Node:是HDFS系统中的管理者,它负责管理文件系统的命名空间,维护文件系统的文件树及所有的文件和目录的元数据。
2.Secondary NameNode:在一个Hadoop集群环境中,只有一个NameNode节点,它是整个系统的关键故障点。
为了避免NameNode节点发生故障影响整个系统的运行,因此设计了Secondary NameNode节点,它一般在一台单独的物理计算机上运行,与NameNode保持通信,按照一点时间间隔保持文件系统元数据的快照。
3.DateNode:是HDFS文件系统中保存数据的节点。
3、MapReduce组件:JobClient:是基于MapReduce借口库编写的客户端程序,负责提交MapReduce作业。
JobTracker:是应用于MapReduce模块之间的控制协调者,负责协调MapReduce作业的执行。
TaskTracker:负责执行由JobTracker分配的任务,每个TaskTracker 可以启动一个或多个Map或Reduce任务。
MapTask、ReduceTask:是由TaskTracker启动的负责具体执行Map或Reduce任务的程序。
4、Hadoop相关技术及简介(主要)1.Hadoop Common:为Hadoop整体架构提供基础支撑性功能。
2.Hadoop Distributed File System(HDFS):是一个适合构建于廉价计算机集群之上的分布式文件系统,具有低成本、高可靠性、高吞吐量的特点。
3.Hadoop MapReduce:是一个编程模型和软件框架,用于在大规模计算机集群上编写对大数据进行快速处理的并行化程序。
4.Hadoop Database(HBase):是一个分布式的、面向列的开源数据库,不同于一般的关系数据库,它是一个适合于非结构化大数据存储的数据库。
5.Hive:是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供强大的类SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。
6.Sqoop:是一款用于在Hadoop 系统与传统数据库间进行数据交换的工具,可以用于将传统数据库中的数据导入HDFS或MapReduce,并将处理后的结果导出到传统数据库中。
7.ZooKeeper:是一个分布式应用程序协调服务器,用于维护Hadoop集群的配置信息、命名信息等,并提供分布式锁同步功能和群组管理功能。
(三)1、MapReduce原理MapReduce计算模式将数据的计算过程分为两个阶段:Map和Reduce。
这两个阶段对应了定义的两个处理函数,分别是mapper和reducer。
在Map阶段,原始数据被输入mapper进行过滤和转换,获得的中间数据在Reduce阶段作为reducer的输入,经过reducer的聚合处理,获得最终处理结果。
2、MapReduce运行框架的组件Client:在此节点上运行了MapReduce程序和JobClient,负责提交MapReduce作业和为用户显示处理结果。
JobTracker:负责协调MapReduce作业的执行,是MapReduce运行框架中的主控节点。
只有一个。
Map TaskTracker:负责执行由JobTracker分配的Map任务。
可以有多个。
Reduce TaskTracker:负责执行由JobTracker分配的Reduce任务。
可以有多个。
分布式文件存储系统:存储了应用运行所需要的数据文件及其他相关配置文件。
作业:是指MapReduce 程序指定的一个完整计算过程。
任务:是MapReduce框架中进行并行计算的基本事务单元,一个作业包含多个任务。
3、MapReduce作业的运行流程:作业提交、作业初始化、任务分
配、Map任务执行、Reduce任务执行、作业完成。
4、Hadoop默认提供了3种调度器:先进先出(FIFO)调度器、公平(Fair)调度器、能力调度器(Capacity).5、有3类重要异常:
任务异常:为了处理此异常,设定了两种异常状态:失败和终止。
TaskTracker异常:通过心跳消息进行检测发现。
黑名单机制。
JobTracker异常:负责整个系统的作业和任务调度,灾难时刻,还没有应对机制。
6、Web界面的访问入口是http://hostname_or_ip_of_JobTracker:50030
7、Reduce任务分为copy、sort、reduce这3个阶段进行显示。
9、使用Cominber机制可用于减少Map阶段的数据量。
(四)1、分布式文件系统(Distributed File System),是基于文件级别的分布式存储技术,是指对物理存储资源分布在通过计算机网络相连的节点上进行管理的文件系统。
2、HDFS:分布式系统采用了主从结构构建。
NameNode为主节点,其他DataNode为从节点。
文件以数据块形式存储到DataNode中,且两节点都以java程序的形式运行在普通的计算机上,操作系统一般采用Linux。
3、HDFS架构中包含的节点和功能:Node:是HDFS系统中的管理者,它负责管理文件系统的命名空间,维护文件系统的文件树及所有的文件和目录的元数据。
2.Secondary NameNode:在一个Hadoop集群环境中,只有一个NameNode节点,它是整个系统的关键故障点。
为了避免NameNode节点发生故障影响整个系统的运行,因此设计了Secondary NameNode节点,它一般在一台单独的物理计算机上运行,与NameNode保持通信,按照一点时间间隔保持文件系统元数据的快照。
3.DateNode:是HDFS文件系统中保存数据的节点。
4.Client:是HDFS文件系统的使用者,它通过调用HDFS提供的API对系统中的文件进行读写操作。
4、HDFS的命令行格式为:hadoop fs -cmd <args>
(五)1、ACID:Atomicity 原子性Consistency 一致性Isolation 隔离性Durability 持久性2、HBase的Shell工具4个通用输入规则:1.名称参数输入规则2.数值输入规则3.参数分割规则4.关键字-值输入规则3、HBase Shell提供了5类命令:表管理、数据管理、工具、复制和其他。
4、HBase性能优化:1.参数配置优化2.表设计优化3.更新数据操作优化4.读数据操作优化5.数据压缩6.JVM GC优化7.负载均衡性能测试工具5、Hive的作用:是提供一套类SQL的数据操作语言,并将其转换为MapReduce程序执行,对存储于HDFS中的数据进行处理。
6、Hive架构中主要包括以下几类组件:1.用户操作接口2.Hive服务器3.驱动程序4.元数据库7、在Hive中,数据以库、表、分区和桶的层次进行组织。
8、Hive 的数据存储格式有两个维度:行格式和文件存储格式。
9、Hive支持的数据类型可以分为两类:基本数据类型:4种有符号整数类型:tinyint、smallint、int、bigint2个浮点数类型:float、double复杂数据类型:数组、映射和结构体
(六)1、Sqoop是一款用于在Hadoop系统与结构化数据存储系统间进行数据交换的软件,可以用于将传统数据库中的数据导入HDFS由MapReduce程序或Hive等工具使用,并支持将处理后的结果数据导出到传统关系型数据库中。
2、ZooKeeper是在Hadoop技术体系中,为整个集群提供高可用集中配置管理的组件。
其功能是为分布式集群提供集中化的配置管理、名字服务和分组服务,并辅助集群节点完成分布式协同工作。
(七)1、数据挖掘是对原始数据进行一定的处理,从大量不完全的、有噪声的、模糊的数据中提取隐含未知的有用信息和知识的过程。
2、有两大类方法:任务并行化和数据并行化。
3、一个数据挖掘算法是否能用MapReduce编程模型实现,其关键在于算法是否能将数据分解为不同的部分,交由不同的计算节点独立进行计算,并在结果汇总后可获得最终计算结果。