Amazon云:用StarCluster实现服务器集群管理自动化

云计算 自动化
云计算技术使我们能够为计算密集型任务快速部署大量的服务器。本文将介绍在亚马逊云中如何用StarCluster实现服务器集群管理自动化。

云计算技术使我们能够为计算密集型任务快速部署大量的服务器。你是否需要转换、筛选以及分析数以TB计的数据呢?你是否有成千上万的媒体文件需要被转换至不同的格式?

针对这些数据密集型的大任务,可选择在Amazon云中通过跨大型服务器集群发布大工作负载来实现。建立和管理这样一个服务器集群是一项***挑战性的任务,但是StarCluster开源工具可通过在Amazon弹性云计算(EC2)中自动化运行众多的繁琐程序,可使服务器集群的创建和管理工作得到显著地简化,且耗时更少。StarCluster是在GNU宽通用公共许可证(LGPL)下发布的。

StarCluster软件可以让用户使用简单的命令行程序创建服务器集群。服务器集群中包含了一台单个的主服务器、多台工作服务器以及弹性块存储(EBS)卷。当你输入一个创建服务器集群的命令时,StarCluster会完成如下的工作:

• 初始化虚拟机实例

• 配置一个新的安全组

• 定义一个用户友好的主机名(如,node001)

• 创建一个非管理员的用户帐号

• 为密码登陆配置SSH

• 定义跨集群的网络文件系统(NFS)文件共享

• 配置Oracle网格引擎排队系统以实现跨服务器集群的任务管理

在Amazon云中使用StarCluster

StarCluster是使用Python语言编写的,因此你可以使用easy_install命令从Python Package Index进行安装。Linux和Mac的用户可能已经安装了Python,但是Windows用户可能需要先行安装Python 2.7 和 Python 安装工具。一旦StarCluster工具安装完毕,你就需要定义一个配置文件,其中应包含一些服务器集群和Amazon云账户的相关基本信息,例如访问ID和密钥位置等。StarCluster创建了一个默认模板,你可以在此基础之上进行进一步编辑以指定特定账户的信息。

虽然StarCluster使用了一个服务器集群的默认小配置,但是你可以通过命令行方式或在配置文件中指定机器的容量、EBS卷以及服务器的数量等参数。你还可以指定托管你服务器集群的Amazon网络服务(AWS)区域。StarCluster的配置参数包括集群规模、在工作服务器节点上运行的Amazon机器镜像(AMI)、工作服务器节点实例类型、主服务器节点AMI,以及服务器集群所连接和NFS共享的EBS卷。

将为服务器集群创建一个安全组,它可让你为整个集群制订防火墙规则。因为防火墙规则属于EC2核心功能的一部分,所以可通过AWS管理控制器或配置文件进行管理。

使用Oracle网格引擎实现精简高效的管理

Oracle网格引擎(即Sun网格引擎)是一个排队系统,它可在集群中精简高效地执行任务管理。例如,如果你申请对数以千计的文件进行转换,那么你就可以使用Oracle网格引擎对所有这些文件进行任务调度,即在资源可用时按队列顺序管理文件转换处理。

使用Oracle网格引擎的另一个优势在于,它能够在服务器集群中实现跨服务器的工作负载平衡。根据你对引擎的具体配置设置,它会在服务器集群中增加或删除节点以适应实际需求的变化。Oracle网格引擎还会监控队列中的任务和错误,并维护服务器集群中与任务状态相关的其他有用信息。

存储StarCluster的输出数据

一般而言,在集群中运行的任务都会产生数据;而输出数据中的部分(即便不是所有的)可能需要在集群关闭之后还是可用的。因为这些服务器集群都是由Amazon虚拟机构成的,所以你需要制订把相关数据存储在简单存储服务(S3)或EBS卷中的计划。如果你正在使用S3对象存储,那么你的任务就可以对S3进行数据读写,就好象你的应用程序是在服务器集群以外运行一样。StarCluster的配置文件有一个可选项,可用于指定EBS卷的卷ID和载入点。在集群关闭后,这些存储卷都会与其他的Amazon EC2实例相连,所以任何写至集群内EBS卷的数据都可供这些实例使用。

StarCluster支持对工作节点使用现场实例,它可通过可选的命令行方式为现场实例指定一个特定的服务器类型。此外,一个spothisory命令还可显示在之前三十天内一个实例类型的当前价、***价和平均价。

StarCluster是专为科学计算研究而开发的,它通常是一般科学计算工具中的标准配置组件。诸如NumPy这样的Python数值计算工具包以及ATLAS这样的优化线性代数工具包都非常擅长数据分析。StarCluster的插件支持通用工具,如Hadoop和MySQL。

作者简介:

Dan Sullivan,是一名拥有超过20年IT经验的作家、系统架构师和顾问。他致力于先进分析、系统架构、数据库设计、企业安全和业务智能等应用。他曾在多个行业中工作,其中包括金融服务、制造、医药、软件开发、政府、零售、教育等。Dan曾就多个主题撰写了大量文章,如数据仓库、与安全管理相关的云计算技术和先进分析、协作以及文本挖掘。

责任编辑:王程程 来源: TechTarget中国
相关推荐

2024-01-09 13:09:00

2011-05-24 10:12:53

VPSCrontab

2015-10-21 15:08:25

电缆自动化

2019-04-17 07:59:09

Puppet自动化集群管理

2013-12-17 17:43:45

DevOps自动化云管理

2011-05-10 14:35:07

TivoliIT服务管理整合

2017-09-15 14:10:01

系统运维服务器

2015-09-16 11:13:51

ChefWindows集群运维

2017-11-20 08:35:32

虚拟服务器自动化

2021-11-10 09:00:00

工具Chef开发

2009-01-12 12:40:42

服务器虚拟化数据中心

2013-03-08 09:54:46

Symantec Sy税务局备份

2017-05-10 16:09:52

2022-08-19 14:16:02

Python命令

2017-05-08 16:52:40

UbuntuApacheJenkins

2015-12-30 14:50:45

Kubernetes容器技术Docker

2017-03-14 11:17:06

自动化系统服务器文档

2011-11-22 08:21:55

云时代 服务编排

2021-03-16 12:08:32

Python 服务器脚本

2011-07-25 14:53:37

Unix服务器运维
点赞
收藏

51CTO技术栈公众号