全球旧事资料 分类
第一章云计算与大数据基础
1在信息产业的发展历程中。硬件驱动力,网络驱动力,作为两个重要的内在动力在不同的
时期起着重要的作用
25
西摩克雷
超级计算机之父
约翰麦克锡
云计算之父
蒂姆伯纳斯李
万维网发明人第一个网页开发者
吉姆格雷
大数据之父
6.MapReduce思想来源LISP语言
7按照资源封装层次,云计算分为Iaaspaassaas三种
8教材P2112
10教材P8122
11教材P10123
第二章云计算与大数据相关技术
1一致性hash算法原理:哈希算法是一种从稀疏值到紧密值范围的映射方法,在存储和计算定位时可以被看做
是一种路由算法。通过这种路与哦算法文件块能被唯一的定位到一个节点的位置。传统的hash算法容错性和扩展性都不好,无法有效的适应面向数据系统节点的动态变化。意思就是当集群需要增加节点,传统的hash算法不容易检测到新增加的节点,此为扩展性不好,而一致性hash算法增加一个节点只会影响增加的这个节点到前一个节点之间的数据。容错性就是如果不幸一个机器C宕机了那么机器B和C之间的数据都会被D执行,那么受影响的数据只是机器B和C之间的数据。当然,容错性和扩展性对于节点数较多的集群是比较有意义的,对于节点较少的集群似乎这两个特性并没有什么诱惑力。
一致性hash的实际目的就是解决节点频繁变化时的任务分配问题,一致性hash将整个hash值空间组织成一个虚拟圆环,我们这里假设某hash函数H值空间为02321即32位无符号整形。下面简述一下一致性hash的原理:
这是一致性hash的整个值空间02321
f下一步将各个服务器使用Hash进行一个哈希,具体可以选择服务器的ip或主机名作为关键字进行哈希,这样每台机器就能确定其在哈希环上的位置,假设使用四台机器进行hash:
将数据key使用相同的函数Hash计算出哈希值,并确定此数据在环上的位置,从此位置沿环顺时针“行走”,第一台遇到的服务器就是其应该定位到的服务器。
例如我们有ObjectA、ObjectB、ObjectC、ObjectD四个数据对象,经过哈希计算后,在环空间上的位置如下:
根据一致性哈希算法,数据A会被定为到NodeA上,B被定为到NodeB上,C被定为到NodeC上,D被定为到NodeD上
下面我们看看当集群机器比较少的情况例如系统中只有两台服务器,其环分布如下,
f此时必然造成大量数据集中到NodeA上,而只有极少量会定位到NodeB上。为了解决这种数据倾斜问题,一致性哈希算法引入了虚拟节点机制,即对每一个服务节点计算多个哈希,每个计算结果位置都放置一个r
好听全球资料 返回顶部