在 Amazon Linux 上安装 MongoDB 社区版
笔记:
MongoDB Atlas
MongoDB Atlas 是云中托管的 MongoDB 服务选项,无需安装开销,并提供免费套餐以供入门。
概述
本教程使用yum
包管理器在 Amazon Linux 上安装 MongoDB 7.0 社区版 。
验证 Linux 发行版
您可以通过在命令行上运行以下命令来验证您正在运行哪个 Linux 发行版:
grep ^NAME /etc/*release
结果应该是Amazon Linux或Amazon Linux AMI。如果使用不同的 Linux 发行版,请参阅 适用于您的平台的安装说明。
MongoDB 版本
本教程安装 MongoDB 7.0 社区版。要安装不同版本的 MongoDB Community ,请使用此页面左上角的版本下拉菜单选择该版本的文档。
注意事项
平台支持
MongoDB 7.0 社区版 在x86_64架构上支持以下 64 位Amazon Linux 版本 :
亚马逊 Linux 2023
亚马逊 Linux 2
MongoDB 仅支持该平台的 64 位版本。
Amazon Linux 上的 MongoDB 7.0 社区版还在特定平台上支持 ARM64架构。
有关详细信息,请参阅平台支持。
制作说明
在生产环境中部署 MongoDB 之前,请考虑 生产说明文档,其中提供了生产 MongoDB 部署的性能注意事项和配置建议。
安装 MongoDB 社区版
按照以下步骤使用包管理器安装 MongoDB Community Edition 。yum
选择您的 Amazon Linux 版本的选项卡:
亚马逊 Linux 2023
配置包管理系统 ( yum
)。
创建一个/etc/yum.repos.d/mongodb-org-7.0.repo
文件,以便您可以直接使用以下yum
命令安装 MongoDB :
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
您也可以.rpm
直接从以下网址下载文件 MongoDB 存储库. 下载按 Amazon Linux 版本(例如2
)、MongoDB 发布版本 (例如7.0
)、架构(例如x86_64
)组织。
在 MongoDB 5.0 之前,奇数 MongoDB 发行版本,例如 4.3
,是开发版本。从 MongoDB 5.1 开始,MongoDB 每季度快速发布一次。有关快速和长期支持版本之间差异的更多信息,请参阅 MongoDB 版本控制。
亚马逊 Linux 2023
配置包管理系统 ( yum
)
创建一个/etc/yum.repos.d/mongodb-org-7.0.repo
文件,以便您可以使用以下命令直接安装 MongoDB yum
:
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
您也可以.rpm
直接从以下位置下载文件 MongoDB 存储库。2
下载按 Amazon Linux 2023 版本(例如)、MongoDB 发行版本 (例如7.0
)、架构(例如x86_64
)进行组织。
在 MongoDB 5.0 之前,奇数 MongoDB 发行版本(例如 ) 4.3
是开发版本。从 MongoDB 5.1 开始,MongoDB 每季度快速发布一次。有关快速支持版本和长期支持版本之间差异的更多信息,请参阅 MongoDB 版本控制。
安装 MongoDB 包。
要安装最新稳定版本的 MongoDB,请发出以下命令:
sudo yum install -y mongodb-org
或者,要安装特定版本的 MongoDB,请单独指定每个组件包并将版本号附加到包名称,如以下示例所示:
sudo yum install -y mongodb-org-7.0 mongodb-org-database-7.0 mongodb-org-server-7.0 mongodb-mongosh-7.0 mongodb-org-mongos-7.0 mongodb-org-tools-7.0
您可以指定任何可用版本的 MongoDB。但是,当更新版本可用时升级yum
软件包。为防止意外升级,请固定包。要固定包,请将以下exclude
指令添加到您的/etc/yum.conf
文件中:
exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-mongosh,mongodb-org-mongos,mongodb-org-tools
运行 MongoDB 社区版
ulimit 注意事项
大多数类 Unix 操作系统限制进程可能使用的系统资源。这些限制可能会对 MongoDB 操作产生负面影响,应该进行调整。有关为您的平台推荐的设置,请参阅UNIXulimit
设置。笔记ulimit
从 MongoDB 4.4 开始,如果打开文件数的值小于64000
,则会生成启动错误 。
目录
默认情况下,MongoDB 实例存储:
它的数据文件在
/var/lib/mongo
它的日志文件在
/var/log/mongodb
如果您通过包管理器安装,这些默认目录是在安装过程中创建的。如果您通过下载 tarball 手动安装,则可以使用mkdir -p <directory>
或sudo mkdir -p <directory>
取决于将运行 MongoDB 的用户来创建目录。mkdir
(有关和的信息,请参阅您的 linux 手册页sudo
。)
默认情况下,MongoDB 使用mongod
用户帐户运行。如果更改运行 MongoDB 进程的用户,则还必须修改对/var/lib/mongo
和/var/log/mongodb
目录的权限,以授予该用户访问这些目录的权限。
要指定不同的日志文件目录和数据文件目录,systemLog.path
请storage.dbPath
编辑/etc/mongod.conf
. 确保运行 MongoDB 的用户有权访问这些目录。
程序
按照以下步骤运行 MongoDB社区版。这些说明假定您使用的是默认设置。
初始化系统
要运行和管理您的mongod
进程,您将使用操作系统的内置初始化系统。最新版本的 Linux 倾向于使用systemd(使用systemctl
命令),而旧版本的 Linux 倾向于使用System V init(使用service
命令)。
如果您不确定您的平台使用哪个 init 系统,请运行以下命令:
ps --no-headers -o comm 1
然后根据结果选择下面适当的选项卡:
systemd
- 选择下面的systemd (systemctl)选项卡。init
- 选择下面的System V Init(服务)选项卡。
systemd (systemctl)
1、启动 MongoDB。
mongod
您可以通过发出以下命令来启动该过程:
sudo systemctl start mongod
如果您在启动时收到类似以下的错误 mongod
:
Failed to start mongod.service: Unit mongod.service not found.
首先运行以下命令:
sudo systemctl daemon-reload
然后再次运行上面的启动命令。
2、验证 MongoDB 是否已成功启动。
mongod
您可以通过发出以下命令来验证进程是否已成功启动:
sudo systemctl status mongod
您可以选择通过发出以下命令确保 MongoDB 将在系统重启后启动:
sudo systemctl enable mongod
3、停止 MongoDB。
mongod
根据需要,您可以通过发出以下命令来停止该过程:
sudo systemctl stop mongod
4、重新启动 MongoDB。
您可以mongod
通过发出以下命令来重新启动该过程:
sudo systemctl restart mongod
您可以通过查看文件中的输出来跟踪错误或重要消息的过程状态/var/log/mongodb/mongod.log
。
5、开始使用 MongoDB。
开始一个mongosh
与 .在同一台主机上的会话 mongod
。你可以跑mongosh
没有任何命令行选项来连接到 mongod
在默认端口 27017 上运行的本地主机上。
mongosh
System V Init(服务)
1、启动 MongoDB。
您可以mongod
通过发出以下命令来启动该过程:
sudo service mongod start
2、验证MongoDB是否启动成功
mongod
您可以通过检查日志文件的内容来 验证该进程是否已成功启动/var/log/mongodb/mongod.log
,以获取行读数
[initandlisten] waiting for connections on port <port>
默认情况下,<port>
其中配置的端口在哪里。/etc/mongod.conf``27017
您可以选择通过发出以下命令来确保 MongoDB 将在系统重新引导后启动:
sudo chkconfig mongod on
3、停止 MongoDB。
根据需要,您可以mongod
通过发出以下命令来停止该进程:
sudo service mongod stop
4、重新启动 MongoDB
您可以mongod
通过发出以下命令来重新启动该进程:
sudo service mongod restart
您可以通过观察文件中的输出来跟踪错误或重要消息的进程状态/var/log/mongodb/mongod.log
。
5、开始使用 MongoDB
开始一个mongosh
会话与 mongod
. 你可以运行mongosh
没有任何命令行选项来连接到 mongod
在本地主机上运行的默认端口 27017。
mongosh
有关使用连接的更多信息mongosh
,例如连接到mongod
在不同主机和/或端口上运行的实例,请参阅 蒙戈什文档。
为了帮助您开始使用 MongoDB,MongoDB 提供了各种驱动程序版本的入门指南。有关驱动程序文档,请参阅开始使用 MongoDB 进行开发。
卸载 MongoDB 社区版
要从系统中完全删除 MongoDB,您必须删除 MongoDB 应用程序本身、配置文件以及任何包含数据和日志的目录。以下部分将指导您完成必要的步骤。
WARNING
此过程将完全删除 MongoDB、其配置和所有 数据库。此过程不可逆,因此请确保在继续之前备份所有配置和数据。
停止 MongoDB。
mongod
通过发出以下命令停止进程:
sudo service mongod stop
删除包。
删除您之前安装的所有 MongoDB 包。
sudo yum erase $(sudo rpm -qa | grep mongodb-org)
删除数据目录。
删除 MongoDB 数据库和日志文件。
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
附加信息
默认绑定本地主机
默认情况下,MongoDB 启动时bindIp
设置为 127.0.0.1
,绑定到本地主机网络接口。这意味着mongod
只能接受来自运行在同一台机器上的客户端的连接。远程客户端将无法连接到mongod
,并且mongod
将无法初始化副本集,除非此值设置为有效的网络接口。
该值可以配置为:
警告
在绑定到非本地主机(例如可公开访问的)IP 地址之前,请确保您已保护集群免受未经授权的访问。有关安全建议的完整列表,请参阅 安全清单。至少,考虑 启用身份验证和 强化网络基础设施。
MongoDB 社区版包
MongoDB Community Edition 可从其自己的专用存储库获得,并包含以下官方支持的包:
包裹名字 | 描述 |
---|---|
mongodb-org |
一个metapackage 自动安装下面列出的组件包的。 |
mongodb-org-database |
一个metapackage 自动安装下面列出的组件包的。包裹名字描述mongodb-org-server 包含mongod 守护程序、关联的初始化脚本和配置文件( /etc/mongod.conf )。您可以使用初始化脚本从mongod 配置文件开始。有关详细信息,请参阅上面的“运行 MongoDB 社区版”部分。mongodb-org-mongos 包含mongos 守护进程。 |
mongodb-mongosh |
包含 MongoDB shell (mongosh ). |
mongodb-org-tools |
一个metapackage 自动安装下面列出的组件包的:包裹名字描述mongodb-database-tools 包含以下 MongoDB 数据库工具:mongodump mongorestore bsondump mongoimport mongoexport mongostat mongotop mongofiles mongodb-org-database-tools-extra 包含install_compass 脚本 |
原文链接 -https://docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/
译者:韩鹏帅