版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章1.1Hadoop的核心组件是什么,它们各自有承担什么样的角色?答:Hadoop的核心组件包括两个部分,HDFS分布式文件存储系统和MapReduce编程模型。HDFS负责底层存储,MapReduce则是一个封装的分布式计算框架,能让用户在不知道底层实现的基础上编写分布式程序。1.2Hadoop处理数据的特点是什么?答:批处理、本地性、高延迟。1.3如何简单开发Hadoop应用?答:一般来说,只需要实现相应的mapper与reducer函数即可。第二章2.1图2-40是一张全局网络拓扑图,请说出里面用到了哪几种VMWare网络连接方式,其中虚拟机A82处于哪种连接方式之中。答:三种连接方式都用到,其中Vmnet0是bridge桥接模式,Vmnet1是host-only模式,Vmnet8是NAT模式。虚拟机A82处于NAT模式网络中吗,可以通过虚拟NAT路由器访问外网。2.2小君在配置集群的时候给其中一个节点命名为xiaojun2,使用命令hostnamexiaojun2,重启之后发现主机名没有变更,有什么办法可以让这个节点重启之后变成xiaojun2?答:参见2.2.6节。2.3小君配置了NAT模式连接的节点后可以连接外网,为什么在外网上无法ping通该节点?答:引入NAT的场合会造成单向Ping通。NAT可以起到隐蔽内部地址的作用,当由内Ping外时,可以Ping通是因为NAT表的映射关系存在,当由外发起Ping内网主机时,就无从查找边界路由器的NAT表项了。(1)小超给小君和小涛提供了自己的公钥,小君向小超发送报文,使用小超的公钥加密,这个报文是否安全?答:安全,即使小涛截获了这个报文,没有小超的私钥也无法解密。(2)接上题,小超收到报文后使用私钥解密,就看到了报文内容,给小君回信,用自己的私钥对回信加密发送给小军,这个回信报文安全吗?答:不安全。如果小涛截获这条报文后,可以用小超的公钥解密后信息就泄露了。要解决回信的问题就要通过hash函数对回信生成摘要(digest),然后小超对这个摘要用私钥加密生成数字签名(signature),然后将这个数字签名附在回信中发送给小君。小君收到回信后取下数字签名,再用小超的公钥解密得到信息摘要,证明是小超发过来的。小君再对回信本身通过hash函数得到的摘要与上一步的信息摘要进行对比,如果一致就证明没有被修改过。当然这样还不能保证绝对安全,因为无法保证小君手里的小超的公钥一定是小超的,还需要对这个公钥进行证书认证,也就是常见的“数字证书”。2.4在core_site.xml配置文档中对临时文件目录进行配置,值为:/home/hadoop/tmp/hadoop-${},一主机名为node1,当前Hadoop集群权限属于trucy,那么实际生成的临时目录是什么?答:实际临时目录为/home/hadoop/tmp/hadoop-trucy。第三章3.1HDFS上默认的一个数据块(Block)大小为多大?答:64M。3.2Windows上检测磁盘使用命令chkdsk,那么在HDFS集群上检测块信息应用什么命令?答:fsck。3.3在HDFS上删除的文件会先放入“回车站”,并在删除的文件状态没有变更的情况下一定时效内彻底删除该文件。假如用户trucy删除了HDFS上的一个叫test.dat这个文件,但马上后悔了,应该检索什么路径找到这个文件,并取回到本地当前目录?请用shell命令表示。答:hdfsdfs–get/user/trucy/.Trash/Current/test.dat。3.4在启动集群后马上通过Web端口登陆到Hadoop界面,但是单击FileSystem却无法进去浏览分布式文件,这是为什么?答:参见本章3.2.4节。3.5画出HDFS的基础架构图。答:参见本章3.2节开头。第四章4.1YARN体系结构主要由哪几个组件组成?答:YARN的基本框架也是Master/Slave结构,主要由ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)和Container等几个组件构成。4.2ResourceManager组件的作用?答:RM全局管理计算程序的资源分配调度,即这个实体控制整个集群并管理应用程序向基础计算资源的分配,处理客户端请求、启动并监控AM、监控NM、资源的分配与调度。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationsManager,ASM)。RM将各个资源部分(计算、内存、带宽等)精心安排给基础NM(YARN的节点代理)。RM还与AM一起分配资源,与NM一起启动和监视它们的基础应用程序。4.3MRv1的局限性有哪些?答:(1)扩展性差。(2)可靠性差。(3)资源利用率低。(4)无法支持多种计算框架。4.4YARN主要由哪几个RPC协议组成?答:YARN主要由以下几个RPC协议组成:(1)作业提交客户端(JobClient)与RM之间的协议是ApplicationClientProtocol,JobClient通过该RPC提交应用程序、查询应用程序状态等。(2)管理员(Admin)与RM之间的通信协议是ResourceManagerAdministrationProtocol,Admin通过该RPC更新系统配置文件,如节点黑白名单、用户队列权限等。(3)AM与RM之间的协议是ApplicationMasterProtocol,AM通过该RPC向RM注册和撤销自己,并为各个任务申请资源。(4)AM与NM之间的协议是ContainerManagementProtocol,AM通过该RPC要求NM启动或者停止Container,获取各个Container的使用状态等信息。(5)NM与RM之间的协议是ResourceTracker,NM通过该RPC向RM注册,并定时发送心跳信息汇报当前节点的资源使用情况和Container运行情况。4.5YARN资源调度器提供了哪三种可用资源调度器?答:YARN资源调度器提供了三种可用资源调度器,分别是FIFO、CapacityScheduler和FairScheduler。4.6分别概括下三种资源调度器的工作流程。答:(1)FIFO调度器采用队列方式将一个一个任务(job)按照时间先后顺序进行服务,排在最前面的任务需要若干maptask和若干reducetask,当发现有空闲的服务器节点就分配给这个任务,直到该任务执行完毕。Capacity调度器支持多个队列,每个队列可配置一定量的资源,每个采用FIFO的方式调度。为了防止同一个用户的任务独占队列中的资源,调度器会对同一用户提交的任务所占资源进行限制。按照任务的优先级和时间顺序,同时要考虑到用户的资源量和内存的限制,对队列中的任务进行排序执行。多个队列同时按照任务队列内的先后顺序一次执行。Fair调度器支持多个队列,每个队列可以配置一定的资源,每个队列中的任务公平共享其所在队列的所有资源,队列中的任务都是按照优先级分配资源,优先级越高分配的资源越多,但是为了确保公平,每个任务都会分配到资源。优先级是根据每个任务的理想获取资源量减去实际获取资源量的差值决定的,差值越大优先级越高。4.7简单概括下YARN的工作流程。答:ResourceManager通过每台机器上的资源管理器代理NodeManager管理每个节点上所有应用的CPU、内存、磁盘、网络等资源使用情况,NodeManager将资源使用信息不定期反馈给ResourceManager。当应用程序的ApplicationMaster进程向ResourceManager发起资源申请请求时,ResourceManager将资源管理信息发送给每台机器上的NodeManager,授权其执行实际的资源分配或回收操作。4.8练习YARN的应用程序编程实例—DistributedShell。答:参见本章4.5.1节。第五章5.1简述MapReduce基本思想,想想看生活中有没有相似的例子。答:MapReduce采用“分而治之”的思想,把一个大而重的任务拆解开来,分成一系列小而轻的任务并行处理,这样就使得任务可以快速解决。例子略5.2MapReduce有哪些编程模型?答:简单编程模型和复杂编程模型,在简单编程模型中,没有Reducer,数据经由Mapper处理后直接写入HDFS,此模型没有Shuffle过程;在复杂编程模型中,会有多个Reducer来汇总Mapper的中间结果,此模型有Shuffle过程。5.3MapReduce如何保证结果文件中key的唯一性?答:简单来说,由不同Mapper产生的相同的key值会集中到同一个Reducer中进行汇总处理。细节实现是在Partition操作中,因为归并后的中间结果文件是基于key整体有序的,所以对于划分的某一分区,其所有的key值均是小于/大于另一分区的key值,这时把对应的分区始终分配给相应的Reducer,那么这个Reducer所接受的数据的key值总是会小于/大于其他Reducer接受的数据的Key值,所有由Reducer归约后,某一key值只会出现一次。5.4MapReduce的Partition操作是怎样实现的?答:在归并由Mapper产生的多个spill文件时,根据文件的大小和Reducer的个数对中间结果文件进行分区,尽量保证划分给各Reducer的数据大小的均衡,之后产生相应的index索引文件。5.5用自己熟悉的语言编写两个可执行脚本或文件:Mapper和Reducer,然后使用Hadoop的Streaming提交任务到集群运行。答:略。第六章6.1SequenceFile类型文件可以用记事本打开吗?答:不可以,SequenceFile类型文件类似于日志文件,是一种半结构化数据的文件,里面可以存放压缩后的数据,不同于普通的字符文本文件。如果直接打开会有乱码。6.2MapFile与SequenceFile有什么区别。答:MapFile是排序后的SequenceFile,并且它会额外生成一个索引文件提供按键的查找。6.3Hadoop常用压缩算法对比。答:参见表6-1。6.4Java的基本类型都支持序列化操作,那为什么Hadoop的基本类型还要重新定义序列化呢?答:Hadoop在集群之间进行通讯或者RPC调用时需要序列化,而且要求序列化要快,且体积要小,占用带宽要小。而Java的序列化机制占用大量计算开销,且序列化结果体积过大;它的引用(reference)机制也导致大文件不能被切分,浪费空间;此外,Java的序列化机制很难对其他语言进行扩展使用;更重要的是Java的反序列化过程每次会构造新的对象,不能复用对象。6.5比较Java基本类型和writable。答:参见表6-5。第七章7.1HBase和一般关系型数据库有什么不同?答:HBase是面向列的,HBase是稀疏的,HBase是非结构化的。7.2HBase的一张表在物理上的结构是什么?答:HBase在存储上以列族为单位,如果一个表有3个列族,那么在进行物理存储时就会有3个存储单元,每个单元对应一个列族。7.3Zookeeper在HBase中有什么作用?答:Zookeeper为HBase提供协同管理服务,所有Region的行键信息、位置及该Region由哪个HRegionServer进行管理均由Zookeeper分配和管理。7.4HBase的表由多个列族构成,所以记录也分散在多个列族中,那么在完全分布式的HBase中,一条行键的记录是存储在一个节点(DataNode)中吗?一个列族呢?答:在完全分布式的HBase中,一条行键的所有记录存在于一个节点中,但是一个列族的数据会存在于多个节点中。7.5HBase中对删除的记录是如何处理的?答:在操作提交时,并不会将相应的记录删除,而是在记录前加上删除标记,然后在StoreFile合并时进行删除处理,这时才会真正地删除数据。7.6在Hadoop集群中安装HBase,然后自己设计一个表,并在HBase中执行创建表,添加、修改数据等操作。答:略。第八章8.1Chubby和Zookeeper的关系。答:参见本章8.2节。8.2Znode由哪几部分组成?答:(1)stat:此为状态信息,描述该Znode的版本,权限等信息。(2)data:与该Znode关联的数据。(3)children:该Znode下的子节点。8.3Znode主要分为哪几类?答:ZooKeeper中的节点有两种,分别为临时节点(EphemeralNodes)和永久节点(PersistentNodes)。8.4Watch主要处理哪几类事件?答:(1)连接状态事件(type=None,path=null),这类事件不需要注册,也不需要连续触发,我们只要处理就行了。(2)节点事件,节点的建立,删除,数据的修改。它是onetimetrigger,需要不停地注册触发,还可能发生事件丢失的情况。8.5自己搭建一个Zookeeper集群。答:略。第九章9.1简述Hive产生背景。答:Hive是为了解决传统SQL数据库开发人员快速地向Hadoop海量数据处理平台过渡而提出的一种折中解决方案,实现熟悉传统SQL技术的程序开发人员在Hadoop平台上进行大数据相关技术的操作,将传统数据仓库技术迁移到Hadoop平台上,降低人员的技术培训成本和经济成本。8.2简述Hive的服务结构组成及其对应的功能。答:Hive服务组成分为Hive客户端和Hive服务端。客户端提供了Thrift、JDBC、ODBC应用程序驱动工具,可以方便地编写使用Thrift、JDBC和ODBC驱动的Python、Java或C++程序,使用Hive对存储在Hadoop上的海量数据进行分析;服务端提供了HiveShell命令行接口、HiveWeb接口和为不同应用程序(包括上层Thrift应用程序、JDBC应用程序以及ODBC应用程序)提供多种服务的HiveServer。9.3MySQL数据库针对Hive的用途是什么?答:由于Hive元数据metastore根据不同用户的应用需求不同而具有很大差异,并且metastore内容所需的存储容量需求很小,甚至可能需要经历频繁的更新、修改和读取操作,显然不适合于使用Hadoop文件系统来存储。因此,可以将Hive的元数据存储在类似MySQL的关系型数据库中,提高Hive的整个应用性能。9.4Hive是如何操作和管理数据的,其管理数据的方式有哪些?答:Hive并不存储数据,而是管理存储在HDFS上的数据,通过Hive表导入数据只是简单的将数据移动(如果数据是在HDFS上)或复制(如果数据是在本地文件系统中)到Hive表所在的HDFS目录中。Hive管理数据的方式有ManagedTable(内部表),ExternalTable(外部表),Partition(分区),Bucket(桶)等几种。第十章10.1简要描述Sqoop的功能。答:Sqoop是一个实现Hadoop与关系型数据库(RDBMS)之间进行数据迁移的工具,通过Sqoop可以简单、快速地从诸如MySQL、Oracle等传统关系型数据库中把数据导入(import)到诸如HDFS、HBase、Hive等Hadoop分布式存储环境下,使用HadoopMapReduce等分布式处理工具对数据进行加工处理,然后可以将最终处理结果导出(export)到RDBMS中。10.2简要描述Sqoop所支持的功能操作有哪些?答:Sqoop提供了一系列工具命令(toolscommand),包括导入操作(import)、导出操作(export)、导入所有表(import-all-tables)、列出所有数据库实例(list-databases)、列出特定数据库实例中的所有表(list-tables)等,在Linux命令提示符下输入sqoophelp会输出Sqoop所支持的所有工具命令。10.3分别安装MySQL数据库和Sqoop工具,实现MySQL数据库和HDFS之间的数据导入、导出操作。答:略。第十一章11.1Flink和Spark的功能分别是什么?答:Flink的主要功能包括:流处理:Flink是一种流处理引擎,可以处理实时数据流,并提供了类似于SQL的API,方便处理复杂的数据流计算。批处理:Flink也可以处理大规模的批处理任务,与流处理共享相同的API和底层引擎。分布式数据处理:Flink可以分布式地处理大规模的数据集。支持多种数据源:Flink可以从多种数据源读取和写入数据,包括HDFS、Kafka、Elasticsearch等。支持高可用性:Flink提供了容错机制,可以保证在节点故障的情况下继续进行计算。支持多种语言:Flink支持Java、Scala和Python等多种编程语言。Spark的主要功能包括:批处理:Spark是一种批处理引擎,可以处理大规模的数据集,支持高效的内存计算和磁盘计算。流处理:Spark提供了流处理框架SparkStreaming,可以处理实时数据流,通过微批处理方式实现近似实时处理。机器学习:Spark提供了机器学习库MLlib,可以进行分类、聚类、回归等多种机器学习算法的训练和预测。图计算:Spark提供了图计算库GraphX,可以进行大规模的图计算任务。支持多种数据源:Spark可以从多种数据源读取和写入数据,包括HDFS、Hive、Cassandra等。支持多种语言:Spark支持Java、Scala、Python和R等多种编程语言。11.2Flink集群的组成及其对应功能分别是什么?答:Flink集群是由多个组件组成的,每个组件有不同的功能。以下是Flink集群的主要组成部分及其对应的功能:JobManager:JobManager是Flink集群的主控节点,负责接收和调度用户提交的作业,并协调作业的执行。它还管理着集群中的资源,如任务槽(TaskSlot),并负责协调任务槽的分配和回收。TaskManager:TaskManager是Flink集群中的工作节点,负责接收JobManager分配的任务,并执行任务中的计算逻辑。每个TaskManager可以运行多个任务,每个任务在一个任务槽中运行,一个任务槽只能运行一个任务。ResourceManager:ResourceManager是Flink集群的资源管理组件,负责分配和管理集群的资源,如CPU、内存、网络带宽等。ResourceManager还可以通过与外部资源管理器(如YARN或Mesos)集成来管理集群资源。BlobServer:BlobServer是Flink集群的二进制大对象(BinaryLargeOb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木材经营合同范例
- 2024年高中教师工作计划(3篇)
- 加装电梯安全合同范例
- 灯泡销售合同模板
- 2024车库门安装合同
- 2024年小学国旗下演讲稿例文(2篇)
- 维修更换配件合同范例
- 二零二四年度财政厅政府采购监督管理办公室信息化建设合同
- 二零二四年度人工智能助手研发-委托开发合同
- 2024合同签订的工作标准
- 第47届世界技能大赛江苏省选拔赛数字建造项目技术工作文件
- (完整版)信息安全课件
- 2025届高三英语九省联考十月知识点积累检测版
- KOL合作合同(可直接使用)
- GB 26920-2024商用制冷器具能效限定值及能效等级
- 浙江省嵊州市三界片2024-2025学年七年级上学期期中科学测试卷
- 2024年度乡村医生资格考试专业基础知识考试题库及答案(共500套)
- 专题15:现代文阅读(小说)-2024年中考语文一轮复习综合强化训练解析版
- 2023-2024学年全国初中八年级上数学人教版期中考卷(含答案解析)
- DB14-2800-2023 耐火材料工业大气污染物排放标准
- 第一单元 项目一 探秘鸟类研究-认识数据、信息与知识 教案
评论
0/150
提交评论