在 Red Hat 或 CentOS 上安装 MongoDB 企业版
概述
使用本教程安装 MongoDB 8.0企业版在 Red Hat Enterprise Linux、CentOS Linux 或 Oracle Linux [1] 上使用yum
软件包管理器。
MongoDB 企业版 在选定平台上有提供,并包含与安全和监控相关的多个功能。
MongoDB 版本
此教程安装 MongoDB 8.0 版本。企业版要安装不同版本的 MongoDB企业版,请使用页面左上角的版本下拉菜单选择该版本的文档。
注意事项
平台支持
MongoDB 8.0 企业版支持以下内容64位版本的 Red Hat Enterprise Linux (RHEL)、CentOS Linux、Oracle Linux [1]、Rocky Linux 和 AlmaLinux [2] 在x86_64 架构上
RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux 9
RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux 8
MongoDB 仅支持这些平台的 64 位版本。
MongoDB 8.0 企业版在 RHEL / CentOS / Oracle / Rocky / Alma Linux 上还支持在选定平台上 ARM64 架构。
有关更多信息,请参阅 平台支持。
[1] | (1, 2) MongoDB 仅支持运行 Red Hat 兼容内核 (RHCK) 的 Oracle Linux。MongoDB 不支持 Unbreakable Enterprise Kernel (UEK)。 |
[2] | 为 RHEL 8.0+ 版本发布的 MongoDB 境内产品与 Rocky Linux 8.0+ 和 AlmaLinux 8.0+ 兼容,并得到支持,前提是这些发行版满足其提供完整 RHEL 兼容性的义务。 |
生产说明
在生产环境中部署 MongoDB 之前,请考虑查阅 自托管部署的生产说明 文档,该文档提供了生产 MongoDB 部署的性能考虑因素和配置建议。
安装 MongoDB 企业版
按照以下步骤安装 MongoDB企业版使用 yum
软件包管理器进行安装。
配置仓库。
创建一个 /etc/yum.repos.d/mongodb-enterprise-8.0.repo
文件,以便您可以直接使用 yum
安装 MongoDB 企业版
[mongodb-enterprise-8.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/9/mongodb-enterprise/8.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-8.0.asc
[mongodb-enterprise-8.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/8/mongodb-enterprise/8.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-8.0.asc
注意
如果您在此目录中有一个来自 MongoDB 以前安装的 mongodb-enterprise.repo
文件,您应该将其删除。使用上面的 mongodb-enterprise-8.0.repo
文件来安装 MongoDB 8.0。
您还可以直接从MongoDB仓库下载.rpm
文件。下载按照Red Hat / CentOS版本(例如9
)组织,然后是MongoDB 发布版本(例如8.0
),然后是架构(例如x86_64
)。
在MongoDB 5.0之前,奇数版本的MongoDB发布版本,如4.3
,是开发版本。从MongoDB 5.1开始,MongoDB有季度快速发布。有关快速发布和长期支持发布之间的差异信息,请参阅MongoDB版本。
安装MongoDB企业版服务器。
要安装MongoDB企业版最新稳定版8.0,请执行以下命令
sudo yum install -y mongodb-enterprise
要安装特定版本,您必须指定每个组件包及其版本号,如下例所示
sudo yum install -y mongodb-enterprise-8.0.0 mongodb-enterprise-database-8.0.0 mongodb-enterprise-server-8.0.0 mongodb-mongosh mongodb-enterprise-mongos-8.0.0 mongodb-enterprise-tools-8.0.0
注意
尽管您可以指定MongoDB企业版的任何可用版本,但当有新版本可用时,yum
会升级包。为了防止意外升级,请通过在您的/etc/yum.conf
文件中添加以下exclude
指令来锁定包
exclude=mongodb-enterprise,mongodb-enterprise-database,mongodb-enterprise-server,mongodb-enterprise-shell,mongodb-enterprise-mongos,mongodb-enterprise-tools
注意
您还可以安装使用系统OpenSSL的MongoDB Shell。在安装此版本的MongoDB Shell之前,您必须已经安装了系统上的OpenSSL。
您可以在不先删除MongoDB Shell的情况下安装所有MongoDB企业版包和使用系统OpenSSL的MongoDB Shell。例如
sudo yum install -y mongodb-enterprise mongodb-mongosh-shared-openssl11
以下示例首先删除MongoDB Shell,然后安装使用系统OpenSSL 1.1的MongoDB Shell
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl11
以下示例首先删除MongoDB Shell,然后安装使用系统OpenSSL 3的MongoDB Shell
sudo yum remove -y mongodb-mongosh && sudo yum install -y mongodb-mongosh-shared-openssl3
您还可以选择要安装的MongoDB包。
以下示例安装MongoDB企业版和工具,以及使用系统OpenSSL 1.1的MongoDB Shell
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl11
以下示例安装MongoDB企业版和工具,以及使用系统OpenSSL 3的MongoDB Shell
sudo yum install -y mongodb-enterprise-database mongodb-enterprise-tools mongodb-mongosh-shared-openssl3
运行 MongoDB 企业版
ulimit
大多数类Unix操作系统会限制进程可能使用的系统资源。这些限制可能会对MongoDB的运行产生负面影响,并且应该进行调整。有关您平台推荐设置的详细信息,请参阅自管理部署的UNIX ulimit
设置。
注意
如果打开文件的ulimit
值小于64000
,MongoDB会在启动时生成警告。
目录路径
使用默认目录
默认情况下,MongoDB使用mongod
用户账户运行,并使用以下默认目录
/var/lib/mongo
(数据目录)/var/log/mongodb
(日志目录)
软件包管理器在安装过程中创建默认目录。所有者用户组和组名是 mongod
。
使用非默认目录
要使用除默认目录之外的数据目录和/或日志目录
创建新的目录或目录。
编辑配置文件
/etc/mongod.conf
并相应修改以下字段storage.dbPath
指定新的数据目录路径(例如/some/data/directory
)systemLog.path
指定新的日志文件路径(例如/some/log/directory/mongod.log
)
确保运行 MongoDB 的用户可以访问目录或目录
sudo chown -R mongod:mongod <directory> 如果您更改了运行 MongoDB 进程的用户,您 必须 给新用户访问这些目录的权限。
如果强制执行,请配置 SELinux。请参阅 配置 SELinux。
配置 SELinux
从 MongoDB 5.0 开始,针对 MongoDB 安装的新 SELinux 策略可用
使用
.rpm
安装程序。使用默认配置设置。
在 RHEL7 或更高版本上运行。
如果您的安装不符合这些要求,请参阅 SELinux 指令,以针对 .tgz
软件包进行配置。
注意
如果您的 MongoDB 部署使用以下任何自定义设置
您不能使用MongoDB提供的SELinux策略。一个替代方案是创建一个自定义SELinux策略,但是一个编写不当的自定义策略可能不够安全,或者可能阻止您的mongod
实例运行。
安装SELinux策略
确保您已安装以下软件包
git
make
checkpolicy
policycoreutils
selinux-policy-devel
sudo yum install git make checkpolicy policycoreutils selinux-policy-devel 下载策略仓库。
git clone https://github.com/mongodb/mongodb-selinux 构建策略。
cd mongodb-selinux make 应用策略。
sudo make install
重要
向后不兼容的功能
从MongoDB 5.1开始,在降级到较旧版本的MongoDB之前,您必须从之前克隆SELinux策略的目录中运行以下命令
sudo make uninstall
SELinux策略考虑
步骤
按照以下步骤运行MongoDB企业版系统版本。这些说明假定您正在使用默认设置。
初始化系统
要运行和管理您的 mongod
进程,您将使用操作系统内置的 初始化系统。较新的Linux版本倾向于使用 systemd(使用 systemctl
命令),而较旧的Linux版本倾向于使用 System V init(使用 service
命令)。
如果您不确定您的平台使用的是哪种初始化系统,请运行以下命令
ps --no-headers -o comm 1
然后根据结果选择下面的适当标签
systemd
- 选择下面的 systemd (systemctl) 标签。init
- 选择下面的 System V Init (service) 标签。
验证MongoDB是否已成功启动。
您可以通过以下命令验证 mongod
进程是否已成功启动
sudo systemctl status mongod
您可以选择通过以下命令确保系统重启后MongoDB将启动
sudo systemctl enable mongod
停止MongoDB。
如有需要,您可以通过以下命令停止 mongod
进程
sudo systemctl stop mongod
重启MongoDB。
您可以通过以下命令重启 mongod
进程
sudo systemctl restart mongod
您可以通过查看 /var/log/mongodb/mongod.log
文件中的输出,来跟踪进程状态以查找错误或重要信息。
开始使用MongoDB。
在与mongod
相同的宿主机器上启动一个mongosh
会话。您可以在没有命令行选项的情况下运行mongosh
来连接到运行在本地的默认端口27017的mongod
。
mongosh
有关使用mongosh
连接的更多信息,例如连接到运行在不同主机和/或端口的mongod
实例,请参阅mongosh 文档。
为了帮助您开始使用MongoDB,MongoDB为各种驱动程序版本提供了入门指南。有关驱动程序文档,请参阅开始使用MongoDB开发。
启动MongoDB。
您可以通过以下命令启动 mongod
进程
sudo service mongod start
验证MongoDB是否成功启动
您可以通过检查位于 /var/log/mongodb/mongod.log
的日志文件内容来验证 mongod
进程是否已成功启动。
[initandlisten] waiting for connections on port <port>
其中,<port>
是在 /etc/mongod.conf
中配置的端口,默认为 27017
。
您可以选择通过以下命令确保系统重启后MongoDB将启动
sudo chkconfig mongod on
停止MongoDB。
如有需要,您可以通过以下命令停止 mongod
进程
sudo service mongod stop
重启MongoDB。
您可以通过以下命令重启 mongod
进程
sudo service mongod restart
您可以通过查看 /var/log/mongodb/mongod.log
文件中的输出,来跟踪进程状态以查找错误或重要信息。
开始使用MongoDB。
在与mongod
相同的宿主机器上启动一个mongosh
会话。您可以在没有命令行选项的情况下运行mongosh
来连接到运行在本地的默认端口27017的mongod
。
mongosh
有关使用mongosh
连接的更多信息,例如连接到运行在不同主机和/或端口的mongod
实例,请参阅mongosh 文档。
为了帮助您开始使用MongoDB,MongoDB为各种驱动程序版本提供了入门指南。有关驱动程序文档,请参阅开始使用MongoDB开发。
卸载MongoDB
要从系统中完全移除MongoDB,您必须删除MongoDB应用程序本身、配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤。
警告
此过程将完全移除MongoDB、其配置和所有数据库。此过程不可逆,因此在进行操作之前,请确保已备份所有配置和数据。
附加信息
默认绑定到localhost
默认情况下,MongoDB以bindIp
设置为127.0.0.1
启动,这绑定到localhost网络接口。这意味着mongod
只能接受运行在同一台机器上的客户端的连接。远程客户端将无法连接到mongod
,除非将此值设置为有效的网络接口,否则mongod
将无法初始化副本集。
此值可以通过以下方式配置
有关配置 bindIp
的更多信息,请参阅自管理部署中的IP绑定。
MongoDB企业版软件包
MongoDB企业版可以从其专用仓库获取,并包含以下官方支持的软件包
软件包名称 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
mongodb-enterprise | 一个 metapackage ,它会自动安装以下列出的组件软件包。 | ||||||||
mongodb-enterprise-database | 一个
| ||||||||
mongodb-mongosh | 包含MongoDB Shell ( mongosh )。 | ||||||||
mongodb-shared-openssl* | 包含使用您计算机上已安装的OpenSSL版本的MongoDB Shell ( mongosh )。 | ||||||||
mongodb-enterprise-tools | 一个
|