龙空技术网

centos7环境上mongodb单机和集群的部署

小丛的知识窝 352

前言:

而今小伙伴们对“centos7mongodb无法启动”大约比较着重,你们都需要分析一些“centos7mongodb无法启动”的相关知识。那么小编同时在网摘上收集了一些对于“centos7mongodb无法启动””的相关文章,希望各位老铁们能喜欢,咱们快快来了解一下吧!

本文源于官方文档

系统环境CentOS7

安装工具yum

配置yum包管理系统

创建一个文件

vim /etc/yum.repos.d/mongodb-org-5.0.repo

文件内容

[mongodb-org-5.0]name=MongoDB Repositorybaseurl=
安装MongoDB的包

安装最新稳定版

sudo yum install -y mongodb-org

安装指定版本MongoDB,单独指定每个组件包并将版本号附加到包名称中

sudo yum install -y mongodb-org-5.0.9 mongodb-org-database-5.0.9 mongodb-org-server-5.0.9 mongodb-org-shell-5.0.9 mongodb-org-mongos-5.0.9 mongodb-org-tools-5.0.9

这里我使用的是固定版本安装

当有更新的版本可用时,yum 会升级MongDB。为防止意外升级,需要固定版本。

请将以下排除指令添加到/etc/yum.conf 文件中用来排除MongoDB的升级

vim /etc/yum.conf

排除指令

exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
启动MongoDB

大多数类 Unix 操作系统限制了进程可能使用的系统资源。这个限制可能会对 MongoDB 的运行产生一些影响,需要调整一下。从 MongoDB 4.4 开始,如果打开文件数的 ulimit 值低于 64000,则会生成启动错误

默认目录

默认情况下,MongoDB 使用 mongod 用户账户运行并使用以下默认目录

/var/lib/mongo (数据目录)/var/log/mongodb (日志目录)

yum包管理器在安装期间创建默认目录。所有者和组名是 mongod。

 ll | grep mongod
配置自定义目录

要使用默认目录以外的数据目录和/或日志目录:

创建一个或多个新目录

编辑配置文件 /etc/mongod.conf 并相应地修改以下字段

vim /etc/mongod.conf

storage.dbPath指定新的数据目录路径 (e.g. /some/data/directory)

systemLog.path 指定新的日志文件路径 (e.g. /some/log/directory/mongod.log)

确保运行 MongoDB 的用户有权访问一个或多个目录:

sudo chown -R mongod:mongod

如果更改运行 MongoDB 进程的用户,则必须授予新用户访问这些目录的权限。

开始启动初始化系统

要运行和管理您的 mongod 进程,您将使用操作系统的内置 init 系统。

最近版本的 Linux 倾向于使用 systemd(使用 systemctl 命令),

而旧版本的 Linux 倾向于使用 System V init(它使用 service 命令)。

如果您不确定您的平台使用哪个初始化系统,请运行以下命令:

ps --no-headers -o comm 1

然后根据结果选择下面的相应选项卡:

systemd 阅读下面的 systemd (systemctl)init - 阅读下面的 System V Initsystemctl

启动 MongoDB

sudo systemctl start mongod

如果在启动 mongod 时收到类似以下的错误:

Failed to start mongod.service: Unit mongod.service not found.

那么先运行以下命令:

sudo systemctl daemon-reload

再执行启动命令

sudo systemctl start mongod
验证 MongoDB 是否已成功启动。
sudo systemctl status mongod

您可以选择通过发出以下命令来确保 MongoDB 将在系统重新启动后启动:

sudo systemctl enable mongod
停止MongoDB
sudo systemctl stop mongod
重启MongoDB
sudo systemctl restart mongod
查看日志
tail -999f /var/log/mongodb/mongod.log
开始使用

在与 mongod 相同的主机上启动 mongosh 会话。您可以在没有任何命令行选项的情况下运行 mongosh,以连接到在您的 localhost 上运行的 mongod,默认端口为 27017。

mongosh
System V Init

启动 MongoDB

sudo service mongod start
验证 MongoDB 是否已成功启动。

您可以通过检查 /var/log/mongodb/mongod.log 中日志文件的内容来验证 mongod 进程是否已成功启动

您可以选择通过发出以下命令来确保 MongoDB 将在系统重新启动后启动:

sudo chkconfig mongod on
停止MongoDB
sudo service mongod stop
重启MongoDB
sudo service mongod restart

您可以通过查看 /var/log/mongodb/mongod.log 文件中的输出来跟踪错误或重要消息的进程状态。

查看日志

tail -999f /var/log/mongodb/mongod.log
开始使用

在与 mongod 相同的主机上启动 mongosh 会话。您可以在没有任何命令行选项的情况下运行 mongosh,以连接到在您的 localhost 上运行的 mongod,默认端口为 27017。

mongosh
远程主机连接mongo

默认情况下,MongoDB 启动时 bindIp 设置为 127.0.0.1,它绑定到 localhost 网络接口。这意味着 mongod 只能接受来自在同一台机器上运行的客户端的连接。远程客户端将无法连接到 mongod,并且 mongod 将无法初始化副本集,除非将此值设置为有效的网络接口。

该值可以配置为:

在配置文件中配置bindIp, 或者通过命令行参数 --bind_ip

要绑定到所有 IPv4 地址,可以指定绑定 ip 地址为 0.0.0.0。要绑定到所有 IPv4 和 IPv6 地址,您可以指定绑定 IP 地址 ::,0.0.0.0,或者使用新的 net.bindIpAll 设置或新的命令行选项 --bind_ip_all。

绑定所有的IPv4地址

vim /etc/mongod.conf

改成0.0.0.0

重启

sudo systemctl restart mongod

标签: #centos7mongodb无法启动