MongoDB 使用说明

配置运行 MongoDB

在星光平台上配置运行 mongodb 的步骤如下:

  1. 进入 MongDB 应用,选择相应的配置后,点击 “提交作业”:

    ../../../_images/18.png
  2. 点击名为 “ttyd-root” 的访问入口,以 root 身份进入应用内部

    ../../../_images/21.png
  3. 在 mongodb 应用内部配置和运行 mongodb 服务:

    ../../../_images/32.png

本地访问 MongoDB 服务

打开另一个终端(访问入口),在终端中执行下图 Shell 命令即可连接本地 mongodb 服务:

../../../_images/41.png

平台其它应用访问 MongoDB 服务

要让其他应用能够访问该 mongodb 服务,首先 mongodb 服务需要把自己的服务端口暴露出去,即添加一个访问入口,如下:

../../../_images/51.png

备注

27017 为 mongodb 的默认服务端口。

其它应用通过 mongodb 服务的 IP 地址和端口信息即可访问 mongodb 服务,服务的 IP 地址可以在作业详情中查询:

../../../_images/61.png

另外,平台其它应用访问 mongodb 服务需要安装好 mongodb 客户端(可通过系统的软件包管理器如 yum 或通过源码等方式进行安装),通过 mongodb 客户端来访问 mongodb 服务。下图以深度学习应用 “deeplearning” 访问 mongodb 服务为例,演示其他应用访问 mongodb 的方法:

../../../_images/71.png

注意事项

在容器中运行数据库服务需要注意,容器随时可能发生重启、迁移,因此在配置数据库服务时有以下建议:

  1. 数据目录应为用户共享目录等可持久化的目录。在星光平台中用户共享目录为 /GPUFS/$USER_NAME

  2. 为保证 mongdb 数据库中数据的安全性和防止程序或系统故障造成的数据丢失,应当设置数据库的定时备份

关键配置项参考

在星光平台上运行 mongodb 服务需要注意一下几个配置项:

../../../_images/81.png

MongoDB 备份和状态监控

  1. 备份

    Mongdb 数据备份通常有基于文件的数据备份、mongdbDump、mongdbExport 命令等方式进行备份,在星光平台上对 mongdb 数据进行备份时需要注意的是备份数据存储目录需要设置为用户共享目录,依据数据的重要性,建议设置备份周期为一天、一周或一个月等周期。

    备注

    官方数据备份方案参考: http://www.mongoing.com/docs/core/backups.html

  2. 状态监控

    在容器环境下,容器是有可能发生销毁重建或容器迁移的,在此种环境下对运行的数据库类服务除数据的定时备份外,也需要对数据库服务的健康状态进行监控。若监控到服务异常,则通常需要人工干预。(该流程与在物理机环境下运维数据库服务相同)

关于数据库服务的状态监控和数据库的定时备份,均可采用 python 程序或其他用户自定义程序的方式来进行。如可使用 python 中 sched、scheduler、timer 模块等进行数据库的定时备份;而对 mongdb 进程的监控可使用 python-mongdb 进行服务的状态获取和监控。