Hadoop
第一章
1、三次信息化浪潮涉及的三个标志:
信息化浪潮 | 发生时间 | 标志 | 解决问题 | 代表企业 |
第一次浪潮 | 1980年前后 | 个人计算机 | 信息处理 | ntel、AMD、IBM、苹果、微软、联想、戴尔、惠普等 |
第二次浪潮 | 1995年前后 | 互联网 | 信息传输 | 雅虎、谷歌、阿里巴巴、百度、腾讯等 |
第三次浪潮 | 2010年前后 | 物联网、云计算和大数据 | 信息爆炸 | Facebook、亚马逊 |
2、大数据中典型特点:并行计算、分布式系统
3、大数据有哪些特点:数据量大、数据类型繁、处理速度快、价值密度低
4、批处理涉及哪些工具(产品):流计算、图计算、查询分析
第二章
1、Hadoop是一个开源的分布式计算平台,基于Java语言开发的,Hadoop的核心是分布式文件系统HDFS和MapReduce
2、Hadoop的优点(特性):(1)高可靠性(2)高效性(3)高可扩展性(4)高容错性(5)成本低(6)运行在Linux平台上(7)支持多种编程语言
3、Pig和Hive之间有什么关系:
(1)Hive是建立在Hadoop上的数据仓库基础架构
(2)Pig是一个基于Hadoop的大规模数据分析平台
4、Hadoop集有哪些节点类型,各节点有什么作用:
(1)NameNode:负责协调集中的数据存储
(2)DataNode:存储被拆分的数据块
(3)JobTracker:协调数据计算任务
(4)TaskTracker:负责执行由JobTracker指派的任务
(5)SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息
第三章HDFS
1、架构(结构):分布式文件系统在物理结构上是由计算机集中的多个节点构成的,这些节点分为两类,一类叫“主节点”(Master Node)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode)。
2、HDFS优势(特点,实现目标):
(1)兼容廉价的硬件设备
(2)流数据读写
(3)大数据集
(4)简单的文件模型
(5)强大的跨平台兼容性
3、HDFS局限性:
(1)不适合低延迟数据访问
(2)无法高效存储大量小文件
(3)不支持多用户写入及任意修改文件
4、“块”默认大小为64MB
5、HDFS采用“块”有什么好处:
(1)支持大规模文件存储:文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量
(2)简化系统设计:首先,大大简化了存储管理,因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据
(3)适合数据备份:每个文件块都可以冗余存储到多个节点上,大大提高了系统的容错性和可用性
6、namenode和datanode存储了什么功能
(1)Namenode:负责管理分布式文件系统的命名空间(Namespace),保存了两个核心的数据结构,即FsImage和EditLog。
(2)Datanode:数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送
自己所存储的块的列表,每个数据节点中的数据会被保存在各自节点的本地Linux文件系统中
7、元数据和数据有什么区别:
(1)文件和目录自身的信息
(2)记录文件内容存储的相关信息
(3)记录HDFS中所有DataNode信息
8、FSlmage和Editlog有什么作用:
(1)FsImage:fsimage文件是namenode中关于元数据的镜像,一般称为检查点。它是在整个文件系统的快照。包含了整个HDFS文件系统的所有目录和文件的信息。对于文件来说包括了数据块描述信息、修改时间、访问时间等;对于目录来说包括修改时间、访问权限控制信息
(2)EditLog:主要是在Namenode已经启动情况下对HDFS进行的各种更新操作进行记录。
HDFS客户端执行所有的写操作都会被记录到editlog中。
9、为什么有第二名称节点?SecondaryNameNode
用来保存名称节点中对HDFS 元数据信息的备份,并减少名称节点重启的时间。
第四章
1、HBase:是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。
2、HBase与传统的关系数据库的区别:
HBase | 传统的关系数据库 | |
数据类型 | 数据模型 | 关系模型 |
数据操作 | 插入、查询、删除、清空 | 复杂的多表连接 |
存储模式 | 列存储 | 行模式存储 |
数据索引 | 行键 | 复杂的多个索引 |
数据维护 | 生成新的版本,旧有的版本保留 | 新版本替换旧版本 |
可伸缩性 | 轻易地实现性能的伸缩 | 扩展的空间也比较有限 |
3、数据坐标:HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格
4、Region:Region服务器负责存储和维护分配给自己的Region,处理来自客户端的读写请求,客户端并不是直接从Master主服务器上读取数据,而是在获得Region的存储位置信息后,直接从Region服务器上读取数据。Region最佳大小建议1GB-2GB,同一个Region不会被分拆到多个Region服务器,每个Region服务器存储10-1000个Region。元数据表,又名.META.表,存储了Region和Region服务器的映射关系
5、HBase的三层结构:
层次 | 名称 | 作用 |
第一层 | Zookeeper文件 | 记录了-ROOT-表的位置信息 |
第二层 | -ROOT-表 | 记录了.META.表的Region位置信息; 通过-ROOT-表,就可以访问.META.表中的数据 |
第三层 | .META.表 | 记录了用户数据表的Region位置信息, 保存了HBase中所有用户数据表的Region位置信息 |
6、Store工作原理
(1)Store是Region服务器的核心
(2)多个StoreFile合并成一个
(3)单个StoreFile过大时,又触发分裂操作,1个父Region被分裂成两个子Region
7、HLog工作原理:
(1)分布式环境必须要考虑系统出错。HBase采用HLog保证系统恢复
(2)HBase系统为每个Region服务器配置了一个HLog文件,是一种预写式日志
(3)用户更新数据必须首先写入日志后,才能写入MemStore缓存
(4)Zookeeper会实时监测每个Region服务器的状态,当某个Region服务器发生故障时,Zookeeper会通知Master
(5)Master首先会处理该故障Region服务器上面遗留的HLog文件,这个遗留的HLog文件
中包含了来自多个Region对象的日志记录
(6)系统会根据每条日志记录所属的Region对象对HLog数据进行拆分,分别放到相应Region对象的目录下,然后,再将失效的Region重新分配到可用的Region服务器中,并把与该Region对象相关的HLog日志记录也发送给相应的Region服务器
(7)Region服务器领取到分配给自己的Region对象以及与之相关的HLog日志记录以后,会重新做一遍日志记录中的各种操作,把日志记录中的数据写入到MemStore缓存中,然后,刷新到磁盘的StoreFile文件中,完成数据恢复;
(8)共用日志优点:提高对表的写操作性能;缺点:恢复时需要分拆日志
8、HBase常用Shell命令
(1)create:创建表
(2)list:列出HBase中所有的表信息
(3)put:向表、行、列指定的单元格添加数据,一次只能为一个表的一行数据的一个列
添加一个数据
(4)scan:浏览表的相关信息
(5)get:通过表名、行、列、时间戳、时间范围和版本号来获得相应单元格的值
(6)enable/disable:使表有效或无效
(7)drop:删除表
第五章nosql数据库,一定会考
1、NoSQL的四大类型:键值数据库、列族数据库、文档数据库、图形数据库。
2、每类有哪些典型产品优缺点
类型 | 优点 | 缺点 | 相关产品 | 使用者 |
键值数据库 | 扩展性好,灵活性好,大量写操作时性能高 | 无法存储结构化信息,条件查询效率较低 | Redis、Riak | 百度云数据库(Redis) |
列族数据库 | 查速度快,可扩展性强,容易进行分布式扩展,复杂性低 | 功能较少,大都不支持强事务一致性 | BigTable、HBase | Ebay(Cassandra) |
文档数据库 | 性能好(高并发),灵活性高,复杂性低,数据结构灵活 | 缺乏统一的查询语法 | MongoDB | redis支持的五种数据类型百度云数据库(MongoDB) |
图形数据库 | 灵活性高,支持复杂的图形算法,可用于构建复杂的关系图谱 | 复杂性高,只能支持一定的数据规模 | Neo4J、 | Adobe(Neo4J) |
3、当处理CAP的问题时,可以有几个明显的选择:
(1)CA:也就是强调一致性(C)和可用性(A),放弃分区容忍性(P),最简单的做法是把所有与事务相关的内容都放到同一台机器上
(2)CP:也就是强调一致性(C)和分区容忍性(P),放弃可用性(A),当出现网络分区的情况时,受影响的服务需要等待数据一致,因此在等待期间就无法对外提供服务
(3)AP:也就是强调可用性(A)和分区容忍性(P),放弃一致性(C),允许系统返回不一致的数据
4、NoSQL的三大基石:CAP、BASE、最终一致性。
(1)所谓的CAP指的是:
C:一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果
A:可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;
P:分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行
(2)BASE的基本含义是基本可用、软状态和最终一致性
(3)最常见的实现最终一致性的系统是DNS(域名系统)。
5、一个数据库事务具有ACID四性:
A:原子性,是指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论