cbsched#
服务进程#
CBSCHED、CBJM - AIP 系统的作业调度器和作业管理器
概要#
CB_SERVERDIR/cbsched [ -h ] [ -V ] [ -C ] [ -d env_dir] [ -debug_level]
CB_SERVERDIR/cbjm [ -h ] [ -V ] [ -d env_dir] [ -debug_level]
描述#
AIP的每个服务器主机上都有一个作业管理器 CBJM。与底层的主负载服务器 (CBLS) 位于同一主机上的作业管理器 负责在其主机上为本地 AIP 集群启动 AIP 调度程序 CBSCHED。CBJM 通常在系统启动时由 aip.service 启动。 除非使用 -C 选项运行 CBSCHED 守护进程,否则切勿启动它。
您可以从任何主机向 CBSCHED 提交作业。CBSCHED 会联系 CBLS,以获取满足作业提交时提供的资源要求的主机的 当前负载信息(参见 csub)。如果未找到合适的主机,作业将被 CBSCHED 保留(即处于等待状态)。 找到合适的执行主机后,CBSCHED 会将作业调度到所选主机上的一个或多个 CBJM 进行执行。
CBJM 接受来自 CBSCHED 的作业执行请求,启动作业,并监控作业的进度。根据 CBSCHED 在作业调度时指定的 执行条件,CBJM 可以根据主机负载情况、用户交互活动以及队列或主机运行窗口的变化来停止或恢复作业。 CBJM 的此类操作会报告给 CBSCHED。作业完成时(成功完成或出现错误,或由用户、AIP 管理员或队列管理员终止), 作业输出会通过邮件发送给提交作业的用户,或存储在作业提交时指定的文件中(参见 csub)。
除了处理用户请求外,CBSCHED 还执行 AIP 的大部分调度功能。AIP 具有容错功能:如果当前 CBSCHED 所在的主机发生故障, 则会启动一个新的 CBSCHED,并且除故障主机上运行的作业外,不会丢失任何作业。 这些作业可能会在其他主机上从头开始重新运行,或者,如果它们可设置检查点,则可在其他主机上从其最后一个检查点重新启动。
提交作业时,用户的大部分环境信息(例如当前工作目录、掩码和用户组)都会保留,并用于作业的执行。
- CB_ENVDIR
配置文件的存储目录,一般为/opt/skyformai/etc。集群中的所有 AIP 服务器主机都应该能够访问目录 CB_ENVDIR。 目录 CB_ENVDIR 必须由 root 用户拥有,并且所有用户都可以访问。
- CB_SHAREDIR
调度程序 (CBSCHED),一般为/opt/skyformai/work,存储作业数据和统计文件的目录。 实际文件存储在目录 CB_SHAREDIR/data 中。目录 CB_SHAREDIR 应该能够从集群中的所有 AIP 服务器主机访问。目录 CB_SHAREDIR 必须由 root 用户拥有,并且所有用户都可以访问。 目录 CB_SHAREDIR/data 必须由 AIP 主(第一)管理员拥有并可写入,并且所有用户都可以访问。
选项#
- -h
将命令用法打印到标准错误输出并退出。
- -V
将 AIP 的发行版本号打印到标准错误输出 (stderr) 并退出。
- -C
此选项仅适用于 CBSCHED。如果指定,CBSCHED 将对 AIP 配置文件进行语法检查,并将详细信息打印到标准输出 (stdout)。 检查完成后,CBSCHED 将退出。 带有 -C 选项的 CBSCHED 不必在主控主机上运行。除非使用 -C 选项,否则切勿手动启动 CBSCHED。
- -d env_dir
从目录 env_dir 读取 cb.yaml 文件,而不是从默认目录 /etc 或环境变量中设置的目录 CB_ENVDIR 读取。
- -debug_level
调试模式级别。可能值为 1 或 2。设置调试模式后,守护进程将以调试模式运行,并可由普通用户(非 root 用户)启动。 如果调试级别为 1,CBJM 启动后将转至后台运行。如果调试级别为 2,CBJM 将保持在前台运行。 CBSCHED 始终由 CBJM 使用相同选项启动,因此具有相同的调试级别。
队列和日志#
用户可以看到许多作业队列,作业可以提交到这些队列中。作业队列由 AIP 管理员在集群配置文件 cb.yaml 或 queue.yaml 中定义。有关队列配置的说明,请参阅 cb.yaml。
CBSCHED 维护几种类型的数据文件:事件数据(cb.data*)、作业统计数据(cb.acct*)、作业流数据(cb.stream.*)。
错误报告#
CBSCHED 和 CBJM 没有控制终端。错误会以日志级别写入文件 /opt/skyformai/log/cbsched.<hostname>.log 和 /opt/skyformai/log/cbjm.<hostname>.log。
文件#
CB_ENVDIR/cb.yaml
CB_ENVDIR/queue.queues
CB_ENVDIR/ug.hosts
CB_ENVDIR/hg.users
CB_SHAREDIR/data/cb.data.时间戳
CB_SHAREDIR/data/cb.acct.序号