一:集群概念:
1.
两大关键特性
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:
·
可扩展性
--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。
·
高可用性
--集群通过服务实体冗余使客户端免于轻易遇到
out of service
的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。
IXDBA.NET社区论坛
2
.
两大能力
为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:
·
负载均衡-
-负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。
·
错误恢复-
-由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。
负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。
3
:
两大技术
实现集群务必要有以下两大技术:
·
集群地址--集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。
维护集群地址的设置被称为负载均衡器
。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。
有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换。
只实现任务转换的负载均衡器适用于支持
ACTIVE-STANDBY
的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。
·
内部通信--为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。
具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。
二:集群分类:
Linux
集群主要分成三大类
(
高可用集群,
负载均衡集群,科学计算集群
)
高可用集群
( High Availability Cluster)
负载均衡集群
(Load Balance Cluster)
科学计算集群
(High Performance Computing Cluster)
================================================
具体包括:
-
Linux High Availability
高可用集群
(
普通两节点双机热备,多节点
HA
集群,
RAC, shared, share-nothing
集群等
)
-
Linux Load Balance
负载均衡集群
(LVS
等
....)
-
Linux High Performance Computing
高性能科学计算集群
(Beowulf
类集群
....)
-
分布式存储
-
其他类
linux
集群
(
如
Openmosix, rendering farm
等
..)
三:详细介绍
1
:高可用集群
(High Availability Cluster)
常见的就是
2
个节点做成的
HA
集群,有很多通俗的不科学的名称,比如
"
双机热备
", "
双机互备
", "
双机
".
高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。
(
请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件
/
硬件
/
人为造成的故障对业务的影响降低到最小程度
)
。
2
:负载均衡集群
(Load Balance Cluster)
负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般
Web
服务器集群、数据库集群和应用服务器集群都属于这种类型。
负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。
3
:科学计算集群
(High Performance Computing Cluster)
高性能计算
(High Perfermance Computing)
集群,简称
HPC
集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。
高性能计算分类
高吞吐计算
(High-throughput Computing)
有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人(
SETI@HOME -- Search for Extraterrestrial Intelligence at Home
)就是这一类型应用。这一项目是利用
Internet
上的闲置的计算资源来搜寻外星人。
SETI
项目的服务器将一组数据和数据模式发给
Internet
上参加
SETI
的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的
Internet
计算都属于这一类。按照
Flynn
的分类,高吞吐计算属于
SIMD
(
Single Instruction/Multiple Data
)的范畴。
分布计算
(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照
Flynn
的分类,分布式的高性能计算属于
MIMD
(
Multiple Instruction/Multiple Data
)的范畴。
4
:分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方。
而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。
而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多,
但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。
相关推荐
【关于集群 cook 覆盖问题及解决方法】 在分布式系统和集群环境中,尤其是在使用WebLogic这样的企业级应用服务器时,跨域Session管理是常见的挑战。WebLogic Server中,两个不同域的应用之间可能存在Session冲突,...
用来我博客的例子,大家可以看看哦,关于集群的博客。
第四部分关于集群的维护和监控,这关乎集群的长期稳定运行。这里介绍了简单网络管理协议(SNMP)的使用,以及Mon、Ganglia等监控工具的应用。通过监控工具,管理员可以实时观察集群的健康状况、性能指标和潜在问题。...
- 社区论坛:如Stack Overflow等平台上有许多关于集群配置的经验分享和技术讨论。 - 书籍资源:市面上有许多关于Java Web应用服务器配置的专业书籍,可以作为深入学习的参考资料。 通过以上知识点的总结,可以清晰...
首先,关于集群设计,需要对集群中的各台主机进行角色分配,如示例中的v-postgres-xl-1至v-postgres-xl-5,它们分别扮演不同的角色。设计时需要考虑集群的可扩展性、负载均衡以及数据冗余等因素。 接着,在软件安装...
而“CLUSTER-钱斌.doc”可能是关于集群部署的详细说明,由钱斌编写,可能包含集群搭建、故障转移策略以及Exchange Server 2003在集群环境中的最佳实践。 总之,"2003集群+exchange 安装"涉及到的IT知识涵盖服务器...
- **集群配置文件**:`cluster-config-file nodes_7000.conf`,该文件将存储关于集群的信息。 ### 知识点五:Redis集群的启动与管理 #### 1. 启动Redis服务: - 在每个节点的目录下执行`redis-server redis.conf`...
8. "HadoopCluster_Vol.10.rar"、"HadoopCluster_Vol.7.rar"、"HadoopCluster_Vol.8.rar":这些可能是Hadoop集群搭建过程的多个阶段,可能包含了更多关于集群管理、监控、优化等方面的内容。 综上所述,这个压缩包...
Redis是一款开源的高性能内存...- [Redis集群草稿设计文档](https://redis.io/topics/cluster-spec):这是Redis官方提供的关于集群的设计文档,详细介绍了Redis集群的各种细节,对了解Redis集群架构和需要部署的节点
在分布式环境中,Quartz集群能够实现任务的高可用性和负载均衡。Spring Quartz则是将Quartz与Spring框架整合,使得任务调度变得更加方便。 一、Quartz集群原理 Quartz集群的基本思想是多个Quartz Scheduler实例...
这些命令提供了关于集群节点的信息,包括槽分配、节点状态等。 二、新集群操作 4. 添加新节点到现有集群: 假设我们要在现有集群中添加一对新的主从节点,7007为主节点,7008为从节点。 步骤一: - 创建7007和...
- 文档提示阅读集群文档,获取更多关于集群配置的信息:[http://redis.io/cluster](http://redis.io/cluster) #### 五、启动实例 1. **复制配置文件**: - 为了创建多个实例,可以复制配置文件并调整端口和其他...
`redis-trib.rb info`命令则可以获取关于集群的详细信息,包括主节点的数量、键分布等。 为了验证集群功能,可以使用Redis客户端与集群交互,例如`redis-cli -c`命令可以以集群模式连接到Redis。集群模式下,客户端...
同样,关于集群的故障恢复策略、性能优化建议等也是手册中的重点内容,掌握这些信息将有助于提升集群的稳定性和性能。 本手册旨在为有志于搭建Windows2003+SQL2000集群系统的用户提供全面的指导和帮助。通过这份...
5. **统计报告**:生成关于集群整体性能、可用性和资源利用率的统计报告,帮助决策者了解系统运行概况。 6. **可扩展性**:由于Elang本身的分布式特性,信息记录器也可以轻松扩展以适应更大规模的集群。 在"akita-...
2. **Fast Application Notification (FAN)**:快速通知实例关于集群中发生的事件,如节点故障。 3. **Automatic Workload Repository (AWR)**:收集性能数据,帮助优化集群性能。 4. **Cluster Interconnect**:...
文档中还涉及了关于集群运行模式的一些操作命令,例如使用CRSCTL工具来设置和查询集群模式,以及使用SRVCTL工具来管理GNS服务。这些操作命令是DBA(数据库管理员)日常管理集群的重要手段,他们需要熟练掌握这些工具...