全部产品
阿里云办公

SGE集群支持

更新时间:2018-11-07 10:24:37

批量计算支持自动化搭建 Sun Grid Engine(SGE)集群,批量计算使用的是 CentOS 自带的 SGE 版本,请参考 SGE

批量计算提供了名为 BatchCompute SGE 的公共镜像,使用该镜像可快速、可靠的构建 SGE 集群,具体的流程如下:

1. 获取 BatchCompute SGE 镜像

请在云市场 搜索关键字 BatchCompute SGE 了解该镜像,它完全免费使用,使用流程请参考 如何通过镜像创建实例

2. 自定义镜像(可选)

本步骤可选,如对镜像没有特殊需求,可直接进入下一步。如果需要在此系统镜像基础上安装软件,必须基于 BatchCompute SGE 制作自定义镜像,请参考 自定义镜像

  • 必须在 BatchCompute SGE 镜像基础上制作新镜像。
  • 制作镜像过程中,请务必不要执行任何有关 SGE 和 bcc 工具的命令,并且不要更新 python。

3. 准备 SGE Master 节点

请指定某 ECS VM 作为 SGE 系统的 Master 节点,它负责管理整个集群,也可以充当提交作业的节点。如果采用自定义镜像,在启动 VM 时要选用自定义镜像,否则选用 BatchCompute SGE 镜像。

配置参数,请参考 创建 Linux 实例

由于 Master 节点需要长期稳定运行,建议在启动 VM 时选用包年包月的付费方式;如果是测试,建议使用按量方式。

详细步骤如下:

A) 创建 VPC 和交换机

如果您需要使用已经存在的 VPC ,可以跳过这一步。

  • 打开 ECS 官方控制台,点击专有网络 VPC 进入 VPC 控制台,然后点击”专有网络”菜单。

  • 创建专有网络。在本示例中,设置专用网络 CIDR 为 192.168.0.0/16,而交换机 CIDR 为 192.168.0.0/24。

创建专有网络

  • 创建交换机。

创建交换机

B) 购买 ECS VM

  • 点击刚才创建的“专有网络”,然后点击“交换机”进入交换机列表,再点击“创建实例”进入创建 ECS 实例页面。
  • 公网 IP 地址选择分配。
  • 选择安全组,创建专有网络时自动创建了一个安全组,这里只有一个安全组可选。
  • 实例规格至少2核4GB。
  • 镜像市场: BatchCompute SGE。
  • 设置密码。
  • 配置参考。
  • 请注意创建实例时实例的名称不能修改

订单

3. 启动 SGE 集群

批量计算提供了命令行工具 bccluster(bcc) 来帮助您管理 SGE 集群,该工具预装到 BatchCompute SGE 镜像中。

A) 登录 Master

使用 ssh 命令登录到 Master 节点,务必使用 root 用户。

  1. ssh root@<外网IP>

然后,输入购买 ECS 时设置的密码.

B) bccluster 命令登录

bccluster(bcc) 工具用来管理 SGE 集群,包括启动、扩容和停止等操作。如果第一次登入 Master 节点,请先更新 bccluster 工具,然后执行以下命令来配置 region, accessKeyId 和 accessKeySecret。其中的 region 必须与 Master 虚拟机所在的 region 相同。

  1. pip install -U batchcompute-sge #如果命令执行出错,重试该命令就可以了。
  2. bcc login <region> <accessKeyId> <accessKeySecret>
  • 该命令只需要第一次登入 Master 节点时执行。
  • AccessKey 对应的子账号,要被授予 BatchCompute 全部权限 和 ECS 查询权限,以及 AuthorizeSecurityGroup 和 RevokeSecurityGroup 两个 ECS 写操作 API 的权限。请打开 RAM 控制台 点击“用户管理”菜单,选择相应的子用户进行授权。
  • region 参考列表
  • 执行 bcc login 命令出现如下错误说明 ECS 的名称被修改过,需要删除 ECS 实例重新创建实例然后进行登录操作。loginerror

C) start 集群

启动worker节点。

  1. bcc start -n 2 -t ecs.sn2.medium -i img-sge --vpc_cidr_block=192.168.1.0/24

参数:

  • -n 表示启动多少台 worker 节点。
  • -t 表示 worker 节点使用哪种实例类型, bcc t命令可以列举可用的实例类型。
  • -i 表示 worker 节点使用哪个镜像(可以指定系统镜像 ID:img-sge,或者自定义镜像 ID)。
  • —vpc_cidr_block 指定集群网段, 请参考 如何选择网段

运行完该命令, 启动指令提交成功, 因为 worker 节点启动有一段时间, 还不能立即使用该集群,需要等待一段时间。

SGE 集群只能运行在 vpc 网络中,因此必须指定 —vpc_cidr_block;cidr_block必须在创建master ECS实例设置的CIDR范围内,如本例创建master ecs时选的vpc cidr为 192.168.0.0/16,所以cidr_block可选范围在192.168.0.0/16-192.168.0.0/24

D) 查看批量计算集群状态

  1. bcc status

该命令可以查看集群状态, worker 节点启动情况等。

E) 查看 SGE 集群状态

  1. qhost

尝试运行qhost命令,看看 SGE 集群是否完全启动。

4. 释放(删除) SGE 集群

如果不再使用 worker 节点,请使用 stop 命令停止所有的 worker 节点。如果 master 节点也不再使用,可以通过控制台删除掉 master 节点。

  1. bcc stop

注意:必须先停止 worker 节点,然后才能释放 master。

5. 如何启动 NAS 挂载的 SGE 集群

使用 bcc 工具可以轻松挂载 NAS,示例如下:

  1. bcc start -n 2 -t ecs.sn1.medium -i img-sge --vpc_cidr_block=192.168.1.0/24 -m nas://a/b/c:/home/nas/

注意:如何在 VPC 里面创建 NAS 文件系统,请参考 创建文件系统添加挂载点

6. 启动多种实例类型的集群(多个group)

运行 bcc start 命令时, 增加 option: —group_num 4 # 表示创建 4 个 group。

  1. bcc start -n 2 -t ecs.sn2.medium -i img-sge --vpc_cidr_block=192.168.1.0/24 option: --group_num 4
  • group 名称分别为: default,group1,group2,group3,并且 group1,group2,group3 的 node 数量都是 0。
  • 通过 bcc update 命令批量修改所有 group 的 instanceType 或者只修改某个 group 的 instanceType ;具体参考bcc update --help
  • 通过 bcc resize 命令某一个 group 的 node 数量;具体参考bcc resize --help

注意: group 个数在 start 后不能变更,如需变更 group 数量,必须 stop 集群后后再重新 start。

7. 如何创建包年包月的 SGE 集群

请按照前面的步骤,启动一个 SGE master 节点,然后登入并初始化 bcc 工具(更新并且 login);登录到阿里云工单系统提交工单联系运维工程师做包年包月集群的配置处理。

注意:包年包月集群创建后不支持删除,只能等到包月时间点到之后才能释放集群;测试场景建议使用按量使用模式,待准备工作完成后再开通包月集群;bcc start 命令不支持创建包年包月的 SGE 集群。

A)控制台创建包年包月的集群

  1. 登入批量计算的控制台,选择您的 master 节点所在的区域,在“集群列表”页面中,点击“创建集群”。
  2. 填写必选字段,其中的“镜像 ID”需要选择为“sge(官网提供)”(如果您是自定义的镜像,那么需要选择您自定义的镜像 ID),资源类型选中“包月”。
  3. 填写可选字段。
    • Bootstrap:/usr/local/bin/sge_bootstrap,必须为该值。
    • 增加 2 个环境变量。SGE_MASTER_IP_ADDRESS:对应 master 所在的 IP 地址, SGE_MASTER_HOST_NAME:对应 master 所在的 hostname。
    • VpcId:对应 master 所在 VPC。
    • CidrBlock:指定一个 CidrBlock,注意不能与该 VPC 中已有的地址段相冲突。
    • 如果需要挂载 NAS,那么需要增加“Mounts”选项。
  4. 点击“提交”,创建集群。
  5. 集群创建成功后,进入该集群的页面。
  6. 点击“创建预付费实例”,在新的页面中,选择“项目”,“集群”,“实例组”,点击“立即购买”,再点击“去支付”,“确认支付”。

注意,在上面第 6 步中,一定要确认“项目”,“集群”,“实例组”这三个选项。

B)命令行 attach 该集群

在命令行中,执行如下命令:

  1. bcc attach <your_cluster_id>

执行成功后,就完成了包年包月的 SGE 集群的创建。