mongodb cant start centos 7

时间:2016-11-27 13:08:00

标签: mongodb centos7

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

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

当我尝试使用systemctl时,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运行(代码=退出,状态= 1 / FAILURE)   主PID:1471(代码=退出,状态= 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:主进程退出,代码=退出,状态= 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进行许可。但我找不到了。

3 个答案:

答案 0 :(得分:1)

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

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

Xcode 8

答案 1 :(得分:0)

我删除并重新安装Mongodb 3.4 服务器以:sudo systemctl start mongod.service启动,然后启动确定。

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

  

2016-11-27T13:23:03.600-0300 I CONTROL [main] ***** SERVER RESTARTED

           

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] MongoDB   开始:pid = 8247 port = 27017 dbpath = / var / lib / mongo 64位   主机=的localhost.localdomain

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] db版本   v3.4.0-RC5

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] git版本:   7df8fe1099135d137516f1670d2a0091ace63ca0

     

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

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] allocator:   tcmalloc

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] modules:none

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] build   环境:

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] distmod:   rhel70

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten] distarch:   x86_64的

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten]
  target_arch:x86_64

     

2016-11-27T13:23:03.612-0300 I CONTROL [initandlisten]选项:{   命令:[" run" ],config:" /etc/mongod.conf" ;, net:{bindIp:   " 127.0.0.1",port:27017},processManagement:{fork:true,   pidFilePath:" /var/run/mongodb/mongod.pid" ,storage:{dbPath:   " / var / lib / mongo",journal:{enabled:true}},systemLog:{   destination:" file",logAppend:true,path:   " /var/log/mongodb/mongod.log" ;, quiet:true}}

     

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

     

2016-11-27T13:23:03.971-0300 I STORAGE [initandlisten]   wiredtiger_open配置:   创建,CACHE_SIZE = 1329M,session_max = 20000,收回=(threads_max = 4),config_base =假,统计=(快),日志=(启用=真,档案= TRUE,路径=杂志,压缩机=活泼),file_manager = (close_idle_time = 100000),检查点=(等待= 60,LOG_SIZE = 2GB),statistics_log =(等待= 0),

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten]

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten] **警告:   未对数据库启用访问控制。

     

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

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten]

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten]

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten] **警告:   / sys / kernel / mm / transparent_hugepage / enabled始终是'。

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten] **我们   建议将其设置为“永远不会”

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten]

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten] **警告:   / sys / kernel / mm / transparent_hugepage / defrag总是'。

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten] **我们   建议将其设置为“永远不会”

     

2016-11-27T13:23:05.036-0300 I CONTROL [initandlisten]

     

2016-11-27T13:23:05.061-0300 I FTDC [initandlisten]正在初始化   使用目录' / var / lib / mon enter code here go / diagnostic.data'

进行全时诊断数据捕获      

2016-11-27T13:23:05.061-0300 I NETWORK [thread1]等待   端口27017上的连接

当我重启系统时,Mongodb不会重新启动。 下面是日志:

  

logAppend:true path: /var/log/mongodb/mongod.log

     

*#在何处以及如何存储数据。

     

2016-11-27T13:30:27.927-0300 I CONTROL [main] ***** SERVER RESTARTED

           

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

这是我的 /etc/mongod.conf

  

存储

     

dbPath:/ var / lib / mongo

     

轴颈:       enabled:true

     

*#engine:

     

* #mmapv1:

     

*#wiredTiger:

     

*#流程如何运行

     

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

     

* #network interfaces net:port:27017 bindIp:127.0.0.1#仅收听本地接口,在所有接口上发表评论。

     

* #security:

     

*#operationProfiling:

     

* #re replication:

     

* #shading:

     

* ## Enterprise-Only Options

     

* #auditLog:

     

*#snmp:

答案 2 :(得分:0)

我也在CentOS 7和mongodb 3.4上遇到了这个问题。这就是我解决它的方法:

  1. 修改/etc/mongod.conf文件并将 fork 更改为 false ,将 pidFilePath 更改为 dbPath (对我来说是/ var / lib / mongo):
  2. /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. 不要忘记设置防火墙规则并重新加载:
    2. firewall-cmd --zone=public --permanent --add-port=27017/tcp; firewall-cmd --reload

      1. 关注日志文件并重新启动:
      2. tail -f /var/log/mongodb/mongod.log &

        systemctl restart mongod; systemctl status mongod

        1. 您应该在日志文件的最后一行中看到:
        2. NETWORK [thread1] waiting for connections on port 27017

          它对我有用,我重启了系统,我可以马上连接到mongo。