批量计算支持自动化搭建 Sun Grid Engine(SGE)集群。
批量计算使用的是 CentOS 自带的 SGE 版本,请参考 SGE。
批量计算提供了名为 BatchCompute SGE 的公共镜像,使用该镜像可快速、可靠的构建 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 用户。
ssh root@<外网IP>
然后,输入购买 ECS 时设置的密码.
B) bccluster 命令登录
bccluster(bcc) 工具用来管理 SGE 集群,包括启动、扩容和停止等操作。如果第一次登入 Master 节点,请先更新 bccluster 工具,然后执行以下命令来配置 region, accessKeyId 和 accessKeySecret。其中的 region 必须与 Master 虚拟机所在的 region 相同。
pip install -U batchcompute-sge #如果命令执行出错,重试该命令就可以了。
bcc login <region> <accessKeyId> <accessKeySecret>
C) start 集群
启动worker节点。
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) 查看批量计算集群状态
bcc status
该命令可以查看集群状态, worker 节点启动情况等。
E) 查看 SGE 集群状态
qhost
尝试运行qhost
命令,看看 SGE 集群是否完全启动。
4. 释放(删除)SGE 集群
如果不再使用 worker 节点,请使用 stop 命令停止所有的 worker 节点。如果 master 节点也不再使用,可以通过控制台删除掉 master 节点。
bcc stop
必须先停止 worker 节点,然后才能释放 master。
5. 如何启动 NAS 挂载的 SGE 集群
使用 bcc 工具可以轻松挂载 NAS,示例如下:
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/
6. 启动多种实例类型的集群(多个group)
运行 bcc start
命令时, 增加 option: —group_num 4 # 表示创建 4 个 group。
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。