集群技术概述_集群计算机

集群技术概述_集群计算机集群技术概述一、集群的起源二、集群的优点1.强扩展能力2.实现方式容易3.高可用性4.易管理性三、集群的类型1.负载均衡集群2.高可用性集群3.高性能集群四、集群的特点1.心跳监测2.漂移IP地址五、集群的应用1.石油地震数据处理2.数值天气预报一、集群的起源        集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发。由于主要用于科学工程计算,所以这些系统并不为大家所熟知。直

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、集群的起源

        集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发。由于主要用于科学工程计算,所以这些系统并不为大家所熟知。直到Linux集群的出现,集群的概念才得以广为传播。对集群的研究起源于集群系统的良好的性能可扩展性(scalability)。提高CPU主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对系统性能的提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能,于是出现了向量机,对称多处理机(SMP)等。但是当CPU的个数超过某一阈值,像SMP这些多处理机系统的可扩展性就变的极差。主要瓶颈在于CPU访问内存的带宽并不能随着CPU个数的增加而有效增长。与SMP相反,集群系统的性能随着CPU个数的增加几乎是线性变化的。

二、集群的优点

1.强扩展能力

        其他扩展技术,通常仅能支持几十个CPU 的扩展,扩展能力有限。而采用集群技术的集群系统则可以扩展到包括成百上千个CPU的多台服务器,扩展能力具有明显优势。集群服务还可不断进行调整,以满足不断增长的应用需求。当集群的整体负荷超过集群的实际能力时,还可以添加额外的节点。

2.实现方式容易

        服务器集群技术相对其他扩展技术来说更加容易实现,主要是通过软件进行的。在硬件上可以把多台性能较低、价格便宜的服务器,通过集群服务集中连接在一起即可实现整个服务器系统成倍,甚至几十、几百倍地增长。无论是从软硬件构成成本上来看,还是从技术实现成本上来看都较其他扩展方式低。

3.高可用性

        使用集群服务拥有整个集群系统资源的所有权。如磁盘驱动器和IP地址将自动地从有故障的服务器上转移到可用的服务器上。当集群中的系统或应用程序出现故障时,集群软件将在可用的服务器上,重启失效的应用程序,或将失效节点上的工作分配到剩余的节点上。在切换过程中,用户只是觉得服务暂时停顿了一下。

4.易管理性

        可以使用集群管理器来管理集群系统的所有服务器资源和应用程序,就像它们都运行在同一个服务器上一样。可以通过拖放集群对象,在集群里的不同服务器间移动应用程序,也可以通过同样的方式移动数据,还可以通过这种方式来手工地平衡服务器负荷、卸载服务器,从而方便地进行维护。同时,还可以从网络的任意地方的节点和资源处,监视集群的状态。当失效的服务器连回来时,将自动返回工作状态,集群技术将自动在集群中平衡负荷,而不需要入工干预。

三、集群的类型

1.负载均衡集群

        负载均衡集群为企业需求提供了更实用的系统。如名称所暗示的,该系统使负载可以在计算机集群中尽可能平均地分摊处理。该负载可能是需要均衡的应用程序处理负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也是如此。通常,网络服务器应用程序接受了太多入网流量,以致无法迅速处理,这就需要将流量发送给在其它节点上运行的网络服务器应用。还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化。

2.高可用性集群

        高可用性集群的出现是为了使集群的整体服务尽可能可用,以便考虑计算硬件和软件的易错性。如果高可用性集群中的主节点发生了故障,那么这段时间内将由次节点代替它。次节点通常是主节点的镜像,所以当它代替主节点时,它可以完全接管其身份,并且因此使系统环境对于用户是一致的。
        在集群的这三种基本类型之间,经常会发生混合与交杂。于是,可以发现高可用性集群也可以在其节点之间均衡用户负载,同时仍试图维持高可用性程度。同样,可以从要编入应用程序的集群中找到一个并行集群,它可以在节点之间执行负载均衡。尽管集群系统本身独立于它在使用的软件或硬件,但要有效运行系统时,硬件连接将起关键作用。

3.高性能集群

        通常,第一种涉及为集群开发并行编程应用程序,以解决复杂的科学问题。这是并行计算的基础,尽管它不使用专门的并行超级计算机,这种超级计算机内部由十至上万个独立处理器组成。但它却使用商业系统,如通过高速连接来链接的一组单处理器或双处理器 PC,并且在公共消息传递层上进行通信以运行并行应用程序。因此,常常听说又有一种便宜的 Linux 超级计算机问世了。但它实际是一个计算机集群,其处理能力与真的超级计算机相等,通常一套像样的集群配置开销要超过 $100,000。这对一般人来说似乎是太贵了,但与价值上百万美元的专用超级计算机相比还算是便宜的。

四、集群的特点

1.心跳监测

        为了能实现负载均衡、提供高可用服务和执行错误恢复,集群系统提供了心跳监测技术,心跳监测是通过心跳线实现的,可以做心跳线的设备有RS 232串口线,也可以用独立的一块网卡来跑心跳,还可以是共享磁盘阵列等,心跳线的数量应该为集群节点数减1,需要注意的是,如果通过网卡来做心跳的话, 每个节点需要两块网卡,其中,一块作为私有网络直接连接到对方机器相应的网卡,用来监测对方心跳。另外一块连接到公共网络对外提供服务,同时心跳网卡和服 务网卡的IP地址尽量不要在一个网段内。心跳监控的效率直接影响故障切换时间的长短,集群系统正是通过心跳技术保持着节点间的内部有效通信。

2.漂移IP地址

        在集群系统中,除了每个服务节点自身的真实IP地址外,还存在一个漂移IP地址,为什么说是漂移IP呢,因为这个IP地址并不固定,例如在两个节点的双机热备中,正常状态下,这个漂移IP位于主节点上,当主节点出现故障后,漂移IP地址自动切换到备用节点,因此,为了保证服务的不间断性,在集群系统中, 对外提供的服务IP一定要是这个漂移IP地址,虽然节点本身的IP也能对外提供服务,但是当此节点失效后,服务切换到了另一个节点,但是服务IP仍然是故障节点的IP地址,此时,服务就随之中断。

五、集群的应用

1.石油地震数据处理

        目前,三维地震勘探是油气勘探中行之有效的手段,也是解决地质勘探任务的重要方法,但是三维地震勘探在具体实施过程中存在一些问题,数据量大,量大的处理周期长,IBM高级地震研究小组ASPG,利用5台RS/6000工作站构成的集群系统,3D偏移程序,达到了巨型机的效率。

2.数值天气预报

        数值预报主要用烹茶方法求解复杂的非线性议程,计算机范围可以包括整个大气层,因此数据量大,计算复杂,而天气预报的实时性又要求在限定时间内给出结果,适合于我们高原地区复杂地形条件下的有限区域的YH数值天气预报模式,大气科学研究中心研制的MM5尺度数值预报模式在8个节点的SCAPE集群系统上加速比达到6。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183919.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea的快捷键设置_idea设置eclipse快捷键

    idea的快捷键设置_idea设置eclipse快捷键idea常用快捷键设置

  • springboot实现拦截器_springmvc自定义拦截器

    springboot实现拦截器_springmvc自定义拦截器集成拦截器登录验证为例添加拦截器public class LoginInterceptor implements HandlerInterceptor { private Logger log = LoggerFactory.getLogger(getClass()); //Controller逻辑执行之前 @Override public boolean preHandle(HttpServletRequest request, HttpServletRe

  • conda 安装whl_whl文件是什么

    conda 安装whl_whl文件是什么里写自定义目录标题)conda安装本地whl文件(opencv,pytorch,torchvision等)因为在线安装总是遇到报错,就直接离线下载安装离线安装报错可能是因为代理没关,下图下载torch,torchvision离线文件网址:https://download.pytorch.org/whl/torch_stable.html里面有cpu和GPU版本的离线文件,下载对应版本(gpu版本要对应cuda)下载好之后,打开Anacondaprompt建一个专门的环境,我已经建好

    2022年10月19日
  • Ping azure

    Ping azure

  • 集合框架——HashTable和HashMap的区别[通俗易懂]

    集合框架——HashTable和HashMap的区别[通俗易懂]继承类不同HashTable继承Dictionary类,HashMap继承AbstractMap类线程安全级别不同HashTable是线程安全的类,每个public方法都有Synchronized修饰,HashMap不是线程安全的是否允许null的要求不同HashTable:key不允许为null,value不允许为nullHashMap:key允许为null,value允许为n…

  • Nhibernate_juan benet

    Nhibernate_juan benet什么是NHibernate?NHibernate是一个基于.Net,用于关系数据库的对象持久化类库.它是著名的Hibernate的.Net版本.NHibernate用于把你的.Net对象持久化到底层的关系数据库中.你完全不用自己编写Sql语句去操作这些对象,NH会代替你做.你的代码里面只需要关心这些对象,NH生成sql语句并能为你取到正确的东西.开发过程HNibernate将会有一些工具帮助你,如

    2022年10月29日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号