知识很多很碎,以下内容只是对重点内容的罗列,许多地方还需要大家翻书,看图理解。另外关于大题部分,由于精力有限就不详写了,大家可以根据实验内容,找重点部分记忆。比如SSH无密码登录指令:ssh-keygen -t rsa,启动HDFS指令:./sbin/start-dfs.sh,Hadoop伪分布式安装,HDFS的操作指令,代码部分的HDFS写文件操作。也可以参考往年题复习复习~
题型:
1.填空20空,每空1分,共20分
2.单选20道,每道1分,共20分
3.多选5道,每道2分,共10分
4.判断10道,每道1分,共10分
5.简答4道,每道5分,共20分
6.大题两道,计算实验,共20分
第一章 概述
1.大数据的4V特性:数据量大(Volume)数据类型繁多(Variety)处理速度快(Velocity)价值密度低(Value)
2.三次信息化浪潮主要解决信息处理,信息传输,信息爆炸的问题
3.大数据颠覆了传统思维方式,3个转变:全样而非抽样,效率而非精确,相关而非因果
4.大数据技术的层面:数据采集与预处理,数据存储和管理,数据处理与分析,数据安全和隐私保护
5.大数据计算模式:批处理计算,流计算,图计算,查询分析计算。
6.云计算的关键技术:虚拟化,分布式存储,分布式计算。多租户等
7.搭建集群的时候,namenode,datanode可以在一个节点上
8.云计算服务模式:
云计算平台层:平台即服务(PaaS);
应用层:软件即服务(SaaS)
基础设施层:基础设施即服务(IaaS)
7.人类在科学研究上先后经历的四种范式:实验科学,理论科学,计算科学,数据密集型科学。
8.信息科技在大数据时代提供的3大技术支撑:信息存储,信息处理,信息传输。
第二章 大数据处理架构Hadoop
1.Hadoop的核心是Hadoop分布式文件系统(HDFS)和MapReduce
2.Hadoop的配置与启动(步骤自己敲一遍)
第三章 分布式文件系统HDFS
1.HDFS中块的大小为64MB,采用块概念的好处:支持大规模文件存储;简化系统设计;适合数据备份(好存好取好计算,提高磁盘读写效率)
2.名称节点NameNode负责管理分布式文件系统的命名空间(namespace)
两个核心数据结构:FsImage,EditLog
3.FsImage的作用:用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
操作日志文件EditLog记录所有针对文件的·创建,删除,重命名操作。
4.名称节点的启动过程(简答)
(1)将FsImage的内容加载到内存中,然后执行EditLog文件中的各个操作,使内存中的元数据保持最新。
(2)若在内存中成功建立元数据映射,创建一个新的Fsimage文件和一个空的EditLog文件。
(3)正常运行后,更新操作写入EditLog中
名称节点启动过程中处于安全模式,对外提供读操作,无法提供写操作。启动结束后,系统会退出安全模式,正常运行。
5.数据节点负责数据的存储和读取,会根据客户端或名称节点的调度进行数据的存储和检索,并向名称节点定期发送自己所存储的块的列表信息。
6.第二名称节点(Secondarynamenode)具有两方面的功能:完成FsImage,EditLog的合并操作,减少editlog文件大小,缩短名称节点重启时间;作为名称节点的检查点,保存名称节点中的元数据信息。
7.HDFS HA(高可用架构)是用来解决NameNode 单点故障问题的, HDFS 联邦是用来解决 NameNode 内存瓶颈问题的。
8.HDFS名称节点出错,将第二名称节点中恢复数据。(HDFS的备份机制)
HDFS数据节点出错由上级负责。(心跳机制)
9.写文件
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.Path;
public class Chapter3 {
public static void main(String[] args) {
try {
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://localhost:9000");
conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem");
FileSystem fs = FileSystem.get(conf);
byte[] buff = "Hello world".getBytes(); // 要写入的内容
String filename = "test"; //要写入的文件名
FSDataOutputStream os = fs.create(new Path(filename));
os.write(buff,0,buff.length);
System.out.println("Create:"+ filename);
os.close();
fs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
第四章 分布式数据库Hbase
1.Hbase实现原理:Hbase功能组件,表,Region的定位.
2.Hbase功能组件:库函数,连接到每个客户端;一个Master主服务器;多个Region服务器。
- Region服务器:负责存储和维护分配给自己的Region,处理来自客户端的读写请求。
- Master主服务器:负责管理和维护Hbase表的分区信息(一个表分成哪些REgion?每个Region被分配在哪个Region服务器上)
3.Master检测集群中的Region服务器,把特定Region分配在可用的Region服务器上。
4.客户端不是直接从Master主服务器上读取数据,在获取Region的存储位置信息后从Region服务器上读取。
5.Hbase客户端借助于ZooKeeper来获取Region位置信息。
6.Region是横向拆分。每个Region默认大小为100-200MB,是Hbase中数据分发和均衡负载的基本单位。
7.Master主服务器将Region匹配到Region服务器。每个Region服务器负责管理一个Region集合(10-1000)。
8.Hbase的四维坐标:[“行键”,“列族”,“列限定符”,“时间戳”]
时间戳一般是64位整型数据
三级寻址(重点)zookeeper文件/-ROOT-表(根数据表)/.META.表(元数据表)
.META.表:存储region和region服务器的映射关系。
-ROOT-表:记录元数据的具体位置
Zookeeper文件:记录根数据表的位置。
9.Region服务器的工作原理(看书)
Region服务器是Hbase的核心,维护分配给自己的Region,响应用户的读写要求。
10.HLog的工作原理(看书)
Hlog保证系统发生故障时恢复到正确状态。
11.Region服务器内有多个region和一个Hlog
- HBASE是基于列存储的,只有一个索引(行键)
12.hbase中的数据类型只有未经解释的字符串;数据操作只有简单的插入,查询,删除,清空。
第五章 Nosql数据库
1.NoSQL的三大基石:CAP,BASE,最终一致性。
2.CAP理论:
- C:一致性。任何一个读操作总是能够读到之前完成的写操作的结果。
- A:可用性。快速获取数据,在确定时间内返回操作结果。
- P:分区容忍性。网络出现分区的时候,分离的系统也能正常运行。
一个分布式系统最多只能满足其中两个。
3.CA,放弃P,严重影响可扩展性
CP,等待期间无法提供服务
AP,一致性转为最终一致性
4.数据库事务具有ACID四性:原子性,一致性,隔离性,持久性。
5.BASE的基本含义:基本可用,软状态,最终一致性。
- 基本可用:一个分布式系统部分发生问题或不可用时,其他部分依然可以正常使用。
- 软状态:可以有一段数据不同步,具有滞后性。
- 最终一致性:允许后续的访问操作可以暂时读不到更新后的操作,但是经过一段时间后,用户必须读到更新后的数据。
6.NoSql的四大类型:键值数据库,列族数据库,文档数据库,图数据库。
键值:Redis,Riak,SimpleDB
列族:Bigtable,Hbase,Cassandra
文档:MongoDB,CouchDB
图:Neo4J,InfoGrid
7.nosql的由来:大数据时代数据类型繁多,不能很好地处理非结构化数据。非关系数据库应运而生。
8.nosql的特点:灵活的可扩展性,灵活的数据类型,与云计算紧密结合。
第六章 云数据库
1.云数据库并非一种全新的数据库技术,而是以服务的方式提供数据库功能的技术。
版权归原作者 Xxiaonian 所有, 如有侵权,请联系我们删除。