CentOS7安装及卸载MongoDB
CentOS7安装及卸载MongoDB
安装 MongoDB 社区版本
配置 yum 包管理系统
创建 /etc/yum.repos.d/mongodb-org-4.2.repo
文件,这样你就可以使用 yum 安装 MongoDB,文件内容如下:
1 | [mongodb-org-4.2] |
You can also download the
.rpm
files directly from the MongoDB repository. Downloads are organized by Red Hat / CentOS version (e.g.7
), then MongoDB release version (e.g.4.2
), then architecture (e.g.x86_64
).
安装 MongoDB
执行下列命令安装最新稳定版本:
1 | sudo yum install -y mongodb-org |
如果要安装特定版本的 MongoDB,请分别指定每个组件软件包,并将版本号附加到软件包名称中,如以下示例所示:
1 | sudo yum install -y mongodb-org-4.2.3 mongodb-org-server-4.2.3 mongodb-org-shell-4.2.3 mongodb-org-mongos-4.2.3 mongodb-org-tools-4.2.3 |
你可以指定任何可用的 MongoDB 版本。但是,当有较新版本时,yum会升级软件包。为防止意外升级,请固定包。要固定软件包,请在 /etc/yum.conf
文件中添加以下 exclude 指令:
1 | exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools |
运行 MongoDB
运行前需要确认数据目录和日志目录是否存在,如果是初次尝试使用 MongoDB,建议使用默认目录。
目录路径
使用默认目录
默认情况下,MongoDB 使用 mongod 用户帐户运行,并使用以下默认目录:
/var/lib/mongo
(数据目录)/var/log/mongodb
(日志目录)
如果你是通过软件包管理器安装的,将会自动创建默认目录,并将这些目录的所有者和组设置为 mongod。
如果你是通过下载压缩包进行安装,未创建默认 MongoDB 目录的,需要手动创建 MongoDB 数据和日志目录:
1 | sudo mkdir -p /var/lib/mongo |
创建后,将这些目录的所有者和组设置为 mongod:
1 | sudo chown -R mongod:mongod <directory> |
<directory>
为你创建的目录。
使用非默认目录
要使用默认目录以外的数据目录和/或日志目录:
创建一个或多个新目录。
编辑配置文件
/etc/mongod.conf
并相应地修改以下字段:storage.dbPath
以指定新的数据目录路径(例如 /some/data/directory)systemLog.path
以指定新的日志文件路径(例如 /some/log/directory/mongod.log)
确保运行 MongoDB 的用户有权访问这些非默认目录:
1
sudo chown -R mongod:mongod <directory>
如果更改运行 MongoDB 进程的用户,则必须授予新用户访问这些目录的权限。
配置 SELinux
配置 SELinux
管理 mongod
请按照以下步骤在系统上运行 MongoDB Community Edition。这些说明假定你使用的是默认设置。
要运行和管理 mongod 进程,你将使用操作系统的内置初始化系统。Linux 的最新版本趋向于使用 systemd(使用 systemctl 命令),而 Linux 的较早版本趋向于使用 System V init(使用 service 命令)。
以 systemd(使用 systemctl 命令)为例:
启动 mongod
1
sudo systemctl start mongod
如果启动 mongod 时收到与以下类似的错误:
Failed to start mongod.service: Unit mongod.service not found.
首先运行以下命令:
1
sudo systemctl daemon-reload
然后再次运行上面的启动命令。
验证 MongoDB 是否已成功启动
1
sudo systemctl status mongod
你可以选择执行以下命令来确保 MongoDB 在系统启动时启动:
1
sudo systemctl enable mongod
停止 mongod
1
sudo systemctl stop mongod
重启 mongod
1
sudo systemctl restart mongod
你可以通过查看 /var/log/mongodb/mongod.log 文件中的输出来跟踪错误或重要消息的进程状态。
使用 MongoDB
在与 mongod 相同的主机上启动 mongo shell,你可以在没有任何命令行选项的情况下运行 mongo shell,这将使用默认端口 27017 连接到在本地主机上运行的 mongod:
1
mongo
有关使用 mongo shell 连接的更多信息,例如连接到在其他主机和/或端口上运行的 mongod 实例,请参阅 mongo Shell。
卸载 MongoDB 社区版本
要从系统中完全删除 MongoDB,必须删除 MongoDB 应用程序本身,配置文件以及所有包含数据和日志的目录。以下部分将指导你完成必要的步骤:
WARNING
This process will completely remove MongoDB, its configuration, and all databases. This process is not reversible, so ensure that all of your configuration and data is backed up before proceeding.
停止 mongod
1
sudo service mongod stop
删除 MongoDB 包
1
sudo yum erase $(rpm -qa | grep mongodb-org)
删除数据和日志目录
1
2sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
References
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
-
2020-03-25
-
2020-04-04
对于互联网应用来说,我们要尽量保证服务的不可间断性,一旦出现故障需要尽快的恢复。MongoDB 的副本集模式主要解决了在其主从模式下故障无法自动转移的情况,自动实现高可用。三个成员副本集提供足够的冗余性,以承受大多数网络分区和其他系统故障,这些集合对于许多分布式读取操作也具有足够的容量。本文介绍如何从三个现有 mongod 实例创建三成员副本集,包括不启用访问控制的和启用访问控制的。
-
2020-04-04
在如今的互联网环境下,海量数据已随处可见并且还在不断增长,对于如何存储处理海量数据,比较常见的方法有两种:
- 垂直扩展:通过增加单台服务器的配置,例如使用更强悍的 CPU、更大的内存、更大容量的磁盘,此种方法虽然成本很高,但是实现比较简单,维护起来也比较方便。
- 水平扩展:通过使用更多配置一般的服务器来共同承担工作负载,此种方法很灵活,可以根据工作负载的大小动态增减服务器的数量,但是实现比较复杂,得有专门的人员来运维。
MongoDB 支持通过分片技术从而进行水平扩展,用以支撑海量数据集和高吞吐量的操作。如果数据集不够大,还是建议您使用 MongoDB 副本集,因为分片需要处理更多的技术细节,所以在分片环境下其性能可能始终没有副本集性能强。本文通过介绍如何搭建 MongoDB 分片集群以及及一些相关核心概念,可以帮您快速理解 MongoDB 是如何通过分片技术来处理海量数据的。
-
2023-04-08
本文介绍了在 CentOS 上使用 BIND (Berkeley Internet Name Domain) 搭建 DNS 服务的步骤。首先需要下载 DNS 服务软件,然后配置主配置文件和区域文件,接着配置正向解析数据文件和反向解析数据文件,设置文件权限,检查配置文件是否配置正确,最后启动 DNS 服务并测试解析。
-
2020-04-04
Nginx server configuration for CodeIgniter