【问题标题】:mongodb cant start centos 7mongodb无法启动centos 7
【发布时间】:2016-11-27 13:07:59
【问题描述】:

我在 Centos 7 上安装了 mongodb,一切正常。

但是如果我重新启动系统,mongodb 将无法再启动。如果我卸载并再次安装,工作正常。但是重启后就无法启动了。

当我尝试 systemctl status mongod.service 显示:

mongod.service - 高性能、无模式的面向文档的数据库 已加载:已加载(/usr/lib/systemd/system/mongod.service;已启用;供应商预设:已禁用) 活动:自 Dom 2016-11-27 09:49:36 BRT 以来失败(结果:退出代码); 12分钟前 文档:https://docs.mongodb.org/manual 进程:1471 ExecStart=/usr/bin/mongod $OPTIONS run (code=exited, status=1/FAILURE) 主 PID:1471(code=exited,status=1/FAILURE)

11 月 27 日 09:49:19 localhost.localdomain systemd[1]:启动高性能、无模式的面向文档的数据库。 11 月 27 日 09:49:19 localhost.localdomain systemd[1]:启动高性能、无模式的面向文档的数据库... 11 月 27 日 09:49:36 localhost.localdomain mongod[1471]:即将派生子进程,等待服务器准备好连接。 11 月 27 日 09:49:36 localhost.localdomain mongod[1471]:分叉进程:2828 11 月 27 日 09:49:36 localhost.localdomain mongod[1471]:错误:子进程失败,退出,错误号为 1 11 月 27 日 09:49:36 localhost.localdomain systemd[1]: mongod.service: 主进程退出,code=exited,status=1/FAILURE 11 月 27 日 09:49:36 localhost.localdomain systemd[1]:单元 mongod.service 进入失败状态。 11 月 27 日 09:49:36 localhost.localdomain systemd[1]: mongod.service 失败。

我已经试过了:

*chcon -R -t mongod_var_lib_t /var/lib/mongo
*SElinux=disable
*chmod 7777 /var/lib/mongo
and nothing.

我记得在我格式化我的电脑之前出现这个错误时,我需要使用一个简单的命令来授予 systemd 权限。但我再也找不到了。

【问题讨论】:

  • 我们需要更多信息来调试它。 mongodb 日志文件中的任何内容?

标签: mongodb centos7


【解决方案1】:

这是官方的错误报告 https://jira.mongodb.org/browse/SERVER-27241

 /usr/lib/systemd/system/mongod.service

使用以下内容更新 systemd 服务,直到他们正式修复它

    [Service]
    User=mongod
    Group=mongod
    Environment="OPTIONS=--quiet -f /etc/mongod.conf"
    PermissionsStartOnly=true
    ExecStartPre=/usr/bin/mkdir /var/run/mongodb
    ExecStartPre=/usr/bin/chown -R mongod:mongod /var/run/mongodb
    ExecStart=/usr/bin/mongod $OPTIONS run
    PIDFile=/var/run/mongodb/mongod.pid

【讨论】:

  • 添加文件位置/usr/lib/systemd/system/mongod.service
【解决方案2】:

我删除并重新安装 Mongodb 3.4 服务器启动:sudo systemctl start mongod.service,启动正常。

这是 /var/log/mongodb/mongod.log

2016-11-27T13:23:03.600-0300 我控制 [main] ***** 服务器重新启动


2016-11-27T13:23:03.612-0300 我控制 [initandlisten] MongoDB 开始:pid=8247 端口=27017 dbpath=/var/lib/mongo 64 位 主机=localhost.localdomain

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] 数据库版本 v3.4.0-rc5

2016-11-27T13:23:03.612-0300 我控制 [initandlisten] git 版本: 7df8fe1099135d137516f1670d2a0091ace63ca0

2016-11-27T13:23:03.612-0300 我控制 [initandlisten] OpenSSL 版本:OpenSSL 1.0.1e-fips 2013 年 2 月 11 日

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] 分配器: tcmalloc

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] 模块:无

2016-11-27T13:23:03.612-0300 我控制 [initandlisten] 构建 环境:

2016-11-27T13:23:03.612-0300 我控制 [initandlisten] distmod: rhel70

2016-11-27T13:23:03.612-0300 我控制 [initandlisten] 分配: x86_64

2016-11-27T13:23:03.612-0300 我控制 [initandlisten]
目标架构:x86_64

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] 选项:{ 命令:[“运行”],配置:“/etc/mongod.conf”,网络:{bindIp: “127.0.0.1”,端口:27017 },processManagement:{ fork:true, pidFilePath: "/var/run/mongodb/mongod.pid" }, storage: { dbPath: “/var/lib/mongo”,日志:{启用:真}},系统日志:{ 目的地:“文件”,logAppend:真,路径: "/var/log/mongodb/mongod.log", 安静: true } }

2016-11-27T13:23:03.971-0300 I - [initandlisten] 检测到的数据 /var/lib/mongo 中由“wiredTiger”存储引擎创建的文件, 因此将活动存储引擎设置为“wiredTiger”。

2016-11-27T13:23:03.971-0300 我存储 [initandlisten] 有线老虎打开配置: create,cache_size=1329M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager= (close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),

2016-11-27T13:23:05.036-0300 我控制 [initandlisten]

2016-11-27T13:23:05.036-0300 我控制 [initandlisten] ** 警告: 没有为数据库启用访问控制。

2016-11-27T13:23:05.036-0300 我控制 [initandlisten] **
对数据和配置的读写访问不受限制。

2016-11-27T13:23:05.036-0300 我控制 [initandlisten]

2016-11-27T13:23:05.036-0300 我控制 [initandlisten]

2016-11-27T13:23:05.036-0300 我控制 [initandlisten] ** 警告: /sys/kernel/mm/transparent_hugepage/enabled 是“始终”。

2016-11-27T13:23:05.036-0300 我控制 [initandlisten] ** 我们 建议将其设置为“从不”

2016-11-27T13:23:05.036-0300 我控制 [initandlisten]

2016-11-27T13:23:05.036-0300 我控制 [initandlisten] ** 警告: /sys/kernel/mm/transparent_hugepage/defrag 是“始终”。

2016-11-27T13:23:05.036-0300 我控制 [initandlisten] ** 我们 建议将其设置为“从不”

2016-11-27T13:23:05.036-0300 我控制 [initandlisten]

2016-11-27T13:23:05.061-0300 I FTDC [initandlisten] 正在初始化 使用目录“/var/lib/monenter code herego/diagnostic.data”进行全时诊断数据捕获

2016-11-27T13:23:05.061-0300 我网络 [thread1] 正在等待 端口 27017 上的连接

当我重新启动系统时,Mongodb 不会再次启动。 这是日志:

logAppend:真实路径:/var/log/mongodb/mongod.log

*# 存储数据的位置和方式。

2016-11-27T13:30:27.927-0300 我控制 [main] ***** 服务器重新启动


2016-11-27T13:30:28.279-0300 I CONTROL [main] 错误:无法写入 pid 文件到 /var/run/mongodb/mongod.pid: 没有这样的文件或目录

这是我的 /etc/mongod.conf

存储:

dbPath: /var/lib/mongo

杂志: 启用:真

*# 引擎:

*# mmapv1:

*#wiredTiger:

*# 进程如何运行

processManagement: fork: true # fork 并在后台运行
pidFilePath: /var/run/mongodb/mongod.pid #pidfile的位置

*# network interfaces net: port: 27017 bindIp: 127.0.0.1 # 只监听本地接口,注释监听所有接口。

*# 安全性:

*# operationProfiling:

*# 复制:

*# 分片:

*## 企业专用选项

*# 审计日志:

*#snmp:

【讨论】:

  • 我发现了问题,但我不知道如何解决。每次我重新启动系统时,文件夹 /var/run/mongodb 都会消失。每次重新启动系统时,我都必须执行 sudo mkdir /var/run/mongodb 和 sudo chmod 777 -R /var/run/mongodb 和 sudo /sbin/restorecon -R /var/run/mongodb 。我该如何解决?
【解决方案3】:

我也在 CentOS 7 和 mongodb 3.4 上遇到过这个问题。以下是我的解决方法:

  1. 编辑 /etc/mongod.conf 文件并将 fork 更改为 false 并将 pidFilePath 更改为与 dbPath 相同(其中对我来说是 /var/lib/mongo):

/etc/mongod.conf:

storage: dbPath: /var/lib/mongo

processManagement: fork: false # fork and run in background pidFilePath: /var/lib/mongo/mongod.pid # location of pidfile

net: port: 27017 bindIp: 0.0.0.0

  1. 别忘了设置防火墙规则并重新加载:

firewall-cmd --zone=public --permanent --add-port=27017/tcp; firewall-cmd --reload

  1. 按照日志文件重启:

tail -f /var/log/mongodb/mongod.log &

systemctl restart mongod; systemctl status mongod

  1. 您应该在日志文件的最后一行看到:

NETWORK [thread1] waiting for connections on port 27017

它对我有用,我重新启动了系统,我可以立即连接到 mongo。

【讨论】:

    猜你喜欢
    • 2017-06-23
    • 2015-07-22
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多