开发者

mongoDB重装或升级版本后,启动失败原因及解决方法

开发者 https://www.devze.com 2024-08-10 11:48 出处:网络 作者: the丶only
目录问题描述解决方案1:检查MongoDB服务是否已安装2:检查MongoDB服务的配置文件3:检查MongoDB服务的端口是否被其他程序占用4:检查MongoDB服务的日志文件mongoDB重装或升级版本后启动失败原因问题原因及解决方法:
目录
  • 问题描述
  • 解决方案
    • 1:检查MongoDB服务是否已安装
    • 2:检查MongoDB服务的配置文件
    • 3:检查MongoDB服务的端口是否被其他程序占用
    • 4:检查MongoDB服务的日志文件
  • mongoDB重装或升级版本后启动失败原因
    • 问题原因及解决方法:
  • Mongodb启动失败相关问题解决方法小结
    • 一、mongod突然启动失败,存在mongod.lock文件
    • 二、校验配置文件的目录是否正确
    • 三、系统硬盘占用满了
    • 四、子节点同步主节点数据失败

问题描述

重装mongodb,或者升级mongdb版本后,重启启动也没有任何错误提示,但是查看为失败failed状态。没有启动成功。

解决方案

我们需要确定问题的原因,MongoDB服务器启动不起来可能有以下几个原因:

接下来,我们将逐一解决这些问题。

1:检查MongoDB服务是否已安装

在Windows系统中,你可以通过“控制面板”->“程序和功能”来查看是否已经安装了MongoDB,如果没有安装,你可以从MongoDB的官方网站下载并安装。

在linux系统中,你可以使用以下命令来检查MongoDB是否已经安装:

mongo --version

如果这个命令返回了MongoDB的版本信息,那么说明MongoDB已经安装,如果没有返回任何信息,或者报错,那么说明MongoDB没有安装或安装不正确。

2:检查MongoDB服务的配置文件

MongoDB的配置文件通常位于/etc/mongod.conf(Linux)或androidC:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg(Windows),你需要检查这个文件中的配置是否正确,你需要确保bindIp参数设置为0.0.0.0或者一个特定的IP地址,以确保MongoDB可以从任何IP地址访问,你还需要确保port参数设置的是你的MongoDB服务的监听端口。

3:检查MongoDBjs服务的端口是否被其他程序占用

你可以使用以下命令来检查你的系统上是否有其他程序正在使用MongoDB服务的端口:

netstat -ano | findstr "27017"

如果你看到输出中有一个或多个行的状态是LISTENING,那么你就需要关闭这些程序,或者将它们绑定到其他的端口。

4:检查MongoDB服务的日志文件

MongoDB的日志文件通常位于/var/log/mongodb(Linux)或C:\Program Files\MongoDB\Server\4.4\log(Windows),你需要打开这个文件,查看其中的错误信息,这些错误信息可能会帮助你找到问题的原因。

如果你无法通过以www.devze.com上步骤解决问题,你可以尝试在网上搜索更多的解决方案,或者寻求专业的技术支持。

mongoDB重装或升级版本后启动失败原因

启动报错ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)

mongoDB重装或升级版本后,启动失败原因及解决方法

问题原因及解决方法:

1:权限问题

网上找了一圈,大多是这种答案,但是对我没有效果,仍然是failed状态。这里写出来作为参考:

查看数据存储目录、日志目录,和/tmp下的*.sock(*是通配符)的文件这三个目录或文件的执行权限,可通过mongod.conf配置文件查看目录的具体位置。

数据存储目录(dbpath)的位置

chown -R mongodb:mongodb /var/lib/mongo

再修改日志目录的权限

chown -R mongodb:mongodb /var/log/mongodb

最后还有一个文件需要开放用户mongod的写权限,php该文件叫*.sock(*是通配符),在/tmp路径下。

chown mongodb:mongodb /tmp/*.sock

最后重启服务。

2:旧版本数据没有清理,导致启动失败

在第一种方法,查看权限已经是mongodb的权限,但是仍然启动失败。是数据存储目录/var/lib/mongodb,旧版本的数据没有清理,导致重装或升级后的mongodb没法启动。所以需要清空数据存储目录的所以文件。

sudo rm -fr /var/lib/mongodb/*

显示如下,重启成功显示active状态。

mongoDB重装或升级版本后,启动失败原因及解决方法

Mongodb启动失败相关问题解决方法小结

一、mongod突然启动失败,存在mongod.lock文件

mongoDB重装或升级版本后,启动失败原因及解决方法

查找文件
find  / -name mongod.lock -d
 
删除该文件
rm -rf mongod.lock
 
重新启动
/data/mongodb/b编程客栈in/mongod --config /data/mongodb/bin/mongodb.conf --replSet cloud
 
通过修改的方式启动
/data/mongodb/bin/mongod --repair -f /data/mongodb/bin/mongodb.conf --replSet cloud

二、校验配置文件的目录是否正确

查看logpath和dbpath的路径是否正确

mongoDB重装或升级版本后,启动失败原因及解决方法

三、系统硬盘占用满了

 看系统盘大小
 df -lh
 查看当前目录下各个文件夹的大小
 du -lh --max-depth=1
 解决方案:
 删除对应的备份文件或扩容

四、子节点同步主节点数据失败

主节点是好的,从节点某一次重启不知为何就报 “infoMessage” : “could not find member to sync from”

原因:1.两台服务器时间没有同步,时间差造成

2.数据差异太大,造成日志无法覆盖差异

mongoDB重装或升级版本后,启动失败原因及解决方法

解决方案:

详细查询mongodb的子节点的全量同步和增量同步

1.关闭子节点

2.把数据目录挪一下 别直接删,最好是mv,然后建一个空的/opt/mongodb/shard2/data

mv /data/mongodb/data/db /data/mongodb/data/db_bak

3.重新启动

到此这篇关于mongoDB重装或升级版本后,启动失败原因及解决方法的文章就介绍到这了,更多相关mongoDB启动失败内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号