Centos 7下Mongodb开机无法自启动的解决方法

所属分类: 数据库 / MongoDB 阅读数: 157
收藏 0 赞 0 分享

前言

首先下载的mongodb有bug,需要自己手动fix,这种只是对特定版本有问题,并非所有版本都有这个问题,

SeLinux

另外,一定要把selinux设置为disabled或者permissive

问题描述

sudo systemctl status mongod.service

看到服务起不来,于是打开log文件:

cat /var/log/mongodb/mongod.log

有如下问题,是因为无法创建pid文件

***** SERVER RESTARTED *****
 ERROR: Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory

Centos7系统每次会把/var/run下面的一些项目清理,所以下次重起来的时候就没有了这个文件了,现在的systemd启动的话,没有什么好办法处理这个文件,因为systemd启动就是执行一个命令:

/usr/bin/mongod --quiet -f /etc/mongod.conf run

处理方案

自己创建一个永久的文件路径,以及这个pid文件

修改配置文件/etc/mongod.conf里面的pid路径,然后修改systemd条目的路径。

具体操作

1.创建文件,并修改权限

[azuo1228@ecs-ee2fe26e /]$ sudo mkdir /mongod
[azuo1228@ecs-ee2fe26e /]$ sudo touch /mongod/mongod.pid
[azuo1228@ecs-ee2fe26e /]$ sudo chown -R mongod:mongod /mongod

2.修改配置

[azuo1228@ecs-ee2fe26e /]$ sudo vim /etc/mongod.conf

把里面的:

pidFilePath: /var/run/mongodb/mongod.pid

修改为创建的文件:

pidFilePath: /mongod/mongod.pid

3.修改systemd条目

[azuo1228@ecs-ee2fe26e ~]$ sudo vim /etc/systemd/system/multi-user.target.wants/mongod.service

把里面的:

PIDFile=/var/run/mongodb/mongod.pid

修改为制定的文件的路径:

PIDFile=/mongod/mongod.pid

4. reload systemd

[azuo1228@ecs-ee2fe26e ~]$ sudo systemctl daemon-reload

5. 启动mongod或者重起电脑

[azuo1228@ecs-ee2fe26e ~]$ sudo service mongod start

6.查看状态

[azuo1228@ecs-ee2fe26e ~]$ sudo systemctl status mongod.service

NOTE 1:

mongodb安装更新之后,mongo.conf不会更新,但是,会更新

/etc/systemd/system/multi-user.target.wants/mongod.service

,装一个新的

/etc/systemd/system/multi-user.target.wants/mongod.service

所以,也会起不来。

如果有按照上面设置过conf文件,也需要再次修改这个systemd文件。

NOTE 2:

更新的mongodb 3.4.1,已经修正了这个问题

[azuo1228@Server ~]$ sudo rpm -qa | grep mongo
mongodb-org-3.4.1-1.el7.x86_64
mongodb-org-shell-3.4.1-1.el7.x86_64
mongodb-org-tools-3.4.1-1.el7.x86_64
mongodb-org-mongos-3.4.1-1.el7.x86_64
mongodb-org-server-3.4.1-1.el7.x86_64
[azuo1228@Server ~]$ 

以上就是关于解决Centos 7上面Mongodb开机无法自启动的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

更多精彩内容其他人还在看

MongoDB使用小结:一些不常见的经验分享

最近一年忙碌于数据处理相关的工作,跟MongoDB打交道极多,以下为实践过程中的Q&A,后续会不定期更新补充
收藏 0 赞 0 分享

MongoDB使用小结 一些常用操作分享

本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell、pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程,需要的朋友可以参考下
收藏 0 赞 0 分享

深究从MongoDB的ObjectId中获取时间信息

MongoDB默认使用_id字段作为主键,类型为ObjectId。ObjectId的生成有一定的规则,详情可以查看这篇文章MongoDB深究之ObjectId
收藏 0 赞 0 分享

Mongodb中MapReduce实现数据聚合方法详解

Mongodb是针对大数据量环境下诞生的用于保存大数据量的非关系型数据库,针对大量的数据。接下来通过本文给大家介绍Mongodb中MapReduce实现数据聚合方法详解,感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

MongoDB 学习笔记(一)-MongoDB配置

MongoDB 是一个基于分布式文件存储的数据库。接下来通过本文给大家介绍MongoDB 学习笔记(一)MongoDB配置的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

MongoDB快速翻页的方法

这篇文章主要为大家详细介绍了MongoDB快速翻页的方法,通过实例学习在MongoDB中翻阅数据的不同方式,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

MongoDB快速入门笔记(六)之MongoDB删除文档操作

这篇文章主要介绍了MongoDB快速入门笔记(六)之MongoDB删除文档操作 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

MongoDB快速入门笔记(六)之MongoDB的文档修改操作

这篇文章主要介绍了MongoDB快速入门笔记(六)之MongoDB的文档修改操作的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码

MongoDB 是一个基于分布式文件存储的数据库。接下来通过本文给大家介绍MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码,感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

MongoDB快速入门笔记(三)之MongoDB插入文档操作

这篇文章主要介绍了MongoDB快速入门笔记(三)之MongoDB插入文档操作 的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多