1、第一章 云计算与大数据基础 1.在信息产业的发展历程中。硬件驱动力,网络驱动力,作为两个重要的内在动力在不同的时期起着重要的作用 2~5 西摩 克雷 超级计算机之父 约翰 麦克锡 云计算之父 蒂姆 伯纳斯 李 万维网发明人 第一个网页开发者 吉姆 格雷 大数据之父 6. MapReduce思想来源LISP语言 7.按照资源封装层次,云计算分为 Iaas paas saas三种 8. 教材P2 1.1.2 10. 教材P8 1.2.2 11. 教材P10 1.2.3 第二章 云计算与大数据相关技术 1.一致性hash算法原理: 哈希算法是一种从稀疏值到紧密值
2、范围的映射方法,在存储和计算定位时可以被看做是一种路由算法。通过这种路与哦算法文件块能被唯一的定位到一个节点的位置。传统的hash算法容错性和扩展性都不好,无法有效的适应面向数据系统节点的动态变化。意思就是当集群需要增加节点,传统的hash算法不容易检测到新增加的节点,此为扩展性不好,而一致性hash算法增加一个节点只会影响增加的这个节点到前一个节点之间的数据。容错性就是如果不幸一个机器C宕机了,那么机器B和C之间的数据都会被D执行,那么受影响的数据只是机器B和C之间的数据。当然,容错性和扩展性对于节点数较多的集群是比较有意义的,对于节点较少的集群似乎这两个特性并没有什么诱惑力。 一致性ha
3、sh的实际目的就是解决节点频繁变化时的任务分配问题,一致性hash将整个hash值空间组织成一个虚拟圆环,我们这里假设某hash函数H值空间为0~(2^32-1),即32位无符号整形。下面简述一下一致性hash的原理: 这是一致性hash的整个值空间0~(2^32-1) 下一步将各个服务器使用Hash进行一个哈希,具体可以选择服务器的ip或主机名作为关键字进行哈希,这样每台机器就能确定其在哈希环上的位置,假设使用四台机器进行hash: 将数据key使用相同的函数Hash计算出哈希值,并确定此数据在环上的位置,从此位置沿环顺时针“行走”,第一台遇到的服务器就是其应该定位到的服务
4、器。 例如我们有Object A、Object B、Object C、Object D四个数据对象,经过哈希计算后,在环空间上的位置如下: 根据一致性哈希算法,数据A会被定为到Node A上,B被定为到Node B上,C被定为到Node C上,D被定为到Node D上 下面我们看看当集群机器比较少的情况 例如系统中只有两台服务器,其环分布如下, 此时必然造成大量数据集中到Node A上,而只有极少量会定位到Node B上。为了解决这种数据倾斜问题,一致性哈希算法引入了虚拟节点机制,即对每一个服务节点计算多个哈希,每个计算结果位置都放置一个此服务节点,称为虚拟节点。
5、具体做法可以在服务器ip或主机名的后面增加编号来实现。例如上面的情况,可以为每台服务器计算三个虚拟节点,于是可以分别计算 “Node A#1”、“Node A#2”、“Node A#3”、“Node B#1”、“Node B#2”、“Node B#3”的哈希值,于是形成六个虚拟节点: 同时数据定位算法不变,只是多了一步虚拟节点到实际节点的映射,例如定位到“Node A#1”、“Node A#2”、“Node A#3”三个虚拟节点的数据均定位到Node A上。这样就解决了服务节点少时数据倾斜的问题。在实际应用中,通常将虚拟节点数设置为32甚至更大,因此即使很少的服务节点也能做到相对均匀的数
6、据分布。 2.科学研究的四个范式:观测实验、理论、计算仿真、数据 3.物联网产业链分为:标识,感知,处理,信息传送 4.非关系型数据库分为: (1) Column-Oriented 面向检索的列式存储,其存储结构为列式结构 如:Google的big table,apache的hbase (2) Key-Value 面向高性能的并发读/写的缓存存储,结构类似于Hash表(hash算法真的要好好学,用的地方太多了,性能的确也是最高的),每个key分别对应一个value,这种数据库适合用来作为缓存系统使用,比如:MemcacheDB,Berkeley DB,redis,flare
7、 (3) Document-Oriented 面向海量数据访问的文档存储,这类存储类似key-value形式,只是value主要以JSON或者XML等格式进行存储,比如:mongoDB,CouchDB 第三章 虚拟化技术 1.Popek和Goldberg 指出:虚拟机具有 同一性,高效性,可控性 2.虚拟化技术从计算机体系结构层次上可分为以下5类: 指令集架构级虚拟化,硬件抽象层虚拟化,操作系统层虚拟化,编程语言上的虚拟化,库函数虚拟化 3.常用的虚拟化软件系统有 VirtualBox ,VMware Workstation ,KVM 4.系统虚拟化具有 硬件无关性,隔离性,多
8、实例,,特权功能等优点。 5.系统虚拟化可分为 服务器虚拟化 桌面虚拟化 网络虚拟化 6.服务器虚拟化按照虚拟化的部分可分为 CPU虚拟化,内存虚拟化,I/O虚拟化 7.什么是广义虚拟化技术: 答:虚拟化技术是一种逻辑简化技术,实现物理层向逻辑层的变化,对物理层运动复杂性的屏蔽,是系统对外运动呈现出简单的逻辑运行状态 8虚拟化技术有哪些优势劣势? 优势:1.虚拟化技术可提高资源利用率 2.提供相互隔离,高效的应用执行环境 3.虚拟化可以简化资源和资源管理 4.虚拟化实现软件和硬件的分离 劣势 1.可能会使物理计算机负载过重 2.升级和维护引起的安全问题 3.物
9、理计算机的影响 第四章 集群系统基础 1.云计算领域存在两个主要技术路线,一个是基于集群技术的云计算资源整合技术,一个是基于虚拟机的云计算资源切分技术 2.集群的设计要考虑5个关键的问题是 可用性 单一系统映像 作业管理 并行文件系统 高效通信 3.传统的集群系统可以分为 高可用性 系统负载均衡 高性能 虚拟化 4类。 4简述Beowulf系统的主要特点 答:1 Beowulf系统通常由一个管理节点和多个计算节点构成 2 Beowulf 系统通常用最常见的硬件设备组成 3 Beowulf 系统同城采用哪些廉价且广为传播的软件 5 Lustre存储系统的组成有 MDS, MDT
10、 OSS, OST, Client 6.简述面向计算分布式系统,混合分布式系统,面向数据的分布式系统的实现机制,分析三种系统的区别. 面向计算分布式系统: P59 4.6.1 混合型分布式系统:P60 4.6.2 面向数据的分布式系统:P61 4.6.3 分析区别:P64 表4.2 3中分布式系统的对比 第五章 MPI-面向计算的高性能集群技术 1,什么是MPI MPI(Message Passing Interface)消息传递接口。它本身不是一个具体的实现,而只是一种标准描述。 2,MPI支持 FORTRAN77 、C 、Fortran90 、 C++
11、 等语言的调用,能满足大多数科学计算的应用需要。 3,简述MPICH并行环境建立的主要步骤。 (1).配置好NFS服务,实现所有节点对主节点指定文件夹的共享,该文件夹为MPICH的安装位置,数据和程序的存储位置,这样就可以避免在每个节点安装MPICH,启动计算时也可以避免每次向各个节点分发程序。 (2).配置好各个节点间的互信,这一步就是实现集群内部个节点间无密码访问,因为MPICH在计算时需要在各节点进行数据交换,集群内的节点应用相互信任的节点。 (3).编译安装配置MPICH。 4.动手配置MPI节点间的ssh无密码访问。 (1)生成私钥id_dsa和公钥id_dsa.pu
12、b (2)将该密钥用作认证,进行访问授权。 (3)将~/.ssh目录下的文件复制到所有节点。 (4)检查是否可以直接(不需要密码)登录其他节点。 5,简述基于蒙特卡罗思想求π值的编程方法,并编写用MPI程序。 蒙特卡罗方法,又称为随机抽样或统计试验方法。 代码在 Page 83 -84 第六章 Hadoop-分布式大数据系统 1.谷歌三宝:mapreduce,bigtable,gfs 2.gfs的工作过程: p93 3.HDFS分块策略: p95 第七章 HPCC-面向数据的高性能计算集群系统 1,简述HPCC的主要特点。 (1) 强大灵活的ECL语言,显著提升了程序
13、员编程的效率。 (2) HPCC系统提供的Roxie集群提供了高效的在线查询和分析服务。 (3) ECL程序首先编译为优化的C++,高速性能得到保证。 (4) 高效的错误恢复和冗余备份机制。 (5) 稳定和可靠的系统。 (6) 相对于其他平台,在较低的系统消耗上实现了更高的性能。 2,高性能计算目前可以分为两类:一类是面向 计算 的高性能计算,另一类是面向 数据 的高性能计算。 3,数据密集型集群计算系统主要有 Hadoop HPCC Storm Apache Drill Rapid Miner Pentaho 4,HPCC系统从总体物理上可以看作在
14、同一个集群上部署了 Thor(数据加工处理平台) 、 Roxie(数据查询、分析和数据仓库) 两套集群计算系统。 5,HPCC的系统服务器包含 ECL服务器 、 Dali服务器 、 Sasha服务器 、 DFU服务器 、 ESP服务器 6,简述HPCC平台数据检索任务的执行过程。 (1) 加载原始数据 (2) 切分、分发待处理的数据 (3) 分发后原始数据的ETL处理 (4) 向Roxie集群发布 Page 117-118 7,熟悉HPCC网页化管理界面ECLWatch。 Page 123 8,动手完成HPCC的安装部署。 (省略了大部分) (1) 配置ssh无密码访问 (2) 在每个节点上分别安装HPCC文件并查看运行情况 (3) 配置集群环境 Page 119 - 122 第八章 Storm-基于拓扑的流数据实时计算系统 1.storm的三架构包括Nimbus zookeeper Supervisior 2.在Storm 中没实现一个任务,用户需要构造包含Spout Bolt组件的拓扑






