mongodb 遇到的问题记录,开机启动, web 访问



晚上用  nohup 启动了 mongod,第二天早晨起床发现 mongod 退出了,查了一下日志,发现如下线索。判断是 shell 退出时mongod 随之退出了。

正确的启动方法应该是用 fork 参数后台启动。


2016-12-08T00:07:55.265+0800 I CONTROL  [signalProcessingThread] got signal 1 (Hangup), will terminate after current cmd ends
2016-12-08T00:07:55.265+0800 I FTDC     [signalProcessingThread] Shutting down full-time diagnostic data capture
2016-12-08T00:07:55.268+0800 I CONTROL  [signalProcessingThread] now exiting
2016-12-08T00:07:55.268+0800 I NETWORK  [signalProcessingThread] shutdown: going to close listening sockets...
2016-12-08T00:07:55.269+0800 I NETWORK  [signalProcessingThread] closing listening socket: 5
2016-12-08T00:07:55.269+0800 I NETWORK  [signalProcessingThread] closing listening socket: 6
2016-12-08T00:07:55.269+0800 I NETWORK  [signalProcessingThread] removing socket file: /tmp/mongodb-27017.sock
2016-12-08T00:07:55.269+0800 I NETWORK  [signalProcessingThread] shutdown: going to flush diaglog...
2016-12-08T00:07:55.269+0800 I NETWORK  [signalProcessingThread] shutdown: going to close sockets...
2016-12-08T00:07:55.269+0800 I STORAGE  [signalProcessingThread] WiredTigerKVEngine shutting down
2016-12-08T00:07:55.556+0800 I STORAGE  [signalProcessingThread] shutdown: removing fs lock...
2016-12-08T00:07:55.556+0800 I CONTROL  [signalProcessingThread] dbexit:  rc: 0


启动后台服务:

--fork
在后台开启Mongdb服务
在使用这个方式启动的时候要注意两点:
1、该功能只在1.1之后的版本才可以使用。
2、另外通过这个方式在后台启动,如果在启动的时候像--dbpath 那样使用 --logpath 输出日志时候日志输出目录也要自己创建。
如:
$ ./mongod --fork --logpath  /var/log/mongodb/mongod.log--logappend
解析最后--logappend,以追加的方式创建日志防止把之前的日志删除了
这里  --logpath 参数如果不带,需要创建目录  /data/db  默认的数据库文件访问位置

--fork 参数也可以不带,需要把配置项写入 /etc/mongod.conf

net:
  port: 27017
#  bindIp: 127.0.0.1
#  bindIp: 0.0.0.0
  auth:true
  fork:true  

service mongodb restart


开机启动:

增加下面一行到 /etc/rc.local


/usr/bin/mongod --fork

  1. mongod --fork --logpath=/data/server/mongodb/logs --auth --httpinterface  





不正常关机 导致下次启动失败:

mongod ERROR: child process failed, exited with error number 1


出现这种错误的原因:

大部分是因为mongodb 服务在不正常关闭的情况下,mongod 被锁,想想可能是上次无故死机造成的.

如何解决这种问题:

  1. 删除 mongod.lock 文件和日志文件 mongodb.log.2014-11-17T06-55-20 ,如果有必要把 log日志全部删除

  2. mongod --repair --dbpath /data/db/ --repairpath /tmp/mongodb

sudo 启动

mongod --storageEngine wiredTiger --dbpath  /Users/maclean/mongodata
--storageEngine wiredTiger
以B-Tree算法为基础的WiredTiger引擎的执行性能应优于针对IO优化的RocksDB和PerconaFT,但是WiredTiger 3.0引擎存在IO性能衰减问题。有报道说,WiredTiger 3.2引擎的性能在3.0版的基础上有了较大的提升

http://www.linuxidc.com/Linux/2016-01/126999.htm

你可能感兴趣的:(mongodb 遇到的问题记录,开机启动, web 访问)