记一次mongodb启动不了的解决方法

记一次mongodb启动不了的解决方法,第1张

启动不了,分别报错如下:

ERROR: child process failed, exited with error number 1

ERROR: child process failed, exited with error number 51

1,第一次尝试启动mongod,枣升此报错,取凳迅消执行,

ai-learning-mongo-1-[root@ai-learning-mongo-1 mongodb]# su - mongo

Last login: Tue Jan  7 16:40:11 CST 2020 on pts/1

[mongo@ai-learning-mongo-1 ~]$ /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf &

[1] 16477

[mongo@ai-learning-mongo-1 ~]$ about to fork child process, waiting until server is ready for connections.

forked process: 16479

ERROR: child process failed, exited with error number 1

To see additional information in this output, start without the "--fork" option.

^C

[1]+  Exit 1                  /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf

2,检查目录,发现配置文件权限不对,修改目录权限

[mongo@ai-learning-mongo-1 ~]$ cd /app/mongodb/

[mongo@ai-learning-mongo-1 mongodb]$ ll

total 12

drwxr-xr-x 2 mongo mongo  248 Feb 26  2019 bin

drwxr-xr-x 8 mongo mongo  295 Jan  7 16:39 db

-r-------- 1 mongo mongo 1024 Feb 26  2019 keyfile

drwxr-xr-x 2 mongo mongo  24 Jan  7 15:46 logs

-rw-r--r-- 1 root  root  785 Feb 26  2019 mongod.conf

-rw-r--r-- 1 mongo mongo    6 Jan  7 16:39 mongod.pid

[mongo@ai-learning-mongo-1 mongodb]$ chown -R  mongo:mongo mongod.conf

chown: changing ownership of ‘mongod.conf’: Operation not permitted

[mongo@ai-learning-mongo-1 mongodb]$ exit

logout

3,修改配置文件权限

ai-learning-mongo-1-[root@ai-learning-mongo-1 ~]# chown -R mongo:mongo /app/mongodb/mongod.conf

4,尝试重新启动,还是报一样的错,笑前排查可能目录属主还有可能是其他用户,继续往下级目录查看,发现bin目录下还是没有改掉权限

[2020/1/7 16:47:59] [mongo@ai-learning-mongo-1 mongodb]$ cd bin/

[2020/1/7 16:48:00] [mongo@ai-learning-mongo-1 bin]$ ll

[2020/1/7 16:48:00] total 285444

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 10546472 Nov 14  2018 bsondump

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root    7770 Nov 14  2018 install_compass

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 33750624 Nov 14  2018 mongo

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 59532264 Nov 14  2018 mongod

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 12848240 Nov 14  2018 mongodump

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 10884072 Nov 14  2018 mongoexport

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 10767240 Nov 14  2018 mongofiles

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 11024432 Nov 14  2018 mongoimport

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 59036976 Nov 14  2018 mongoperf

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 13955512 Nov 14  2018 mongoreplay

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 13941224 Nov 14  2018 mongorestore

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 34171112 Nov 14  2018 mongos

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 11080688 Nov 14  2018 mongostat

[2020/1/7 16:48:00] -rwxr-xr-x 1 root root 10721912 Nov 14  2018 mongotop

[2020/1/7 16:48:34] [mongo@ai-learning-mongo-1 bin]$ exit

[2020/1/7 16:48:34] logout

5,修改整个目录结构的权限

[2020/1/7 16:49:07] ai-learning-mongo-1-[root@ai-learning-mongo-1 mongodb]# chown -R mongo:mongo /app/mongodb/

6,尝试启动,报error number 51

[2020/1/7 17:09:53] [mongo@ai-learning-mongo-1 db]$ /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf &

[2020/1/7 17:09:53] [1] 18399

[2020/1/7 17:09:53] [mongo@ai-learning-mongo-1 db]$ about to fork child process, waiting until server is ready for connections.

[2020/1/7 17:09:53] forked process: 18401

[2020/1/7 17:09:56] ERROR: child process failed, exited with error number 51

[2020/1/7 17:09:56] To see additional information in this output, start without the "--fork" option.

[2020/1/7 17:10:41] ^C

[2020/1/7 17:10:41] [1]+  Exit 51                /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf

7,启动不了mongodb,查看日志 less /app/mongodb/logs/mongod.log

8,根据报错,open: too many open files ,认为应该是open files 数量不够,查阅资料修改

https://blog.csdn.net/qq_26614295/article/details/81502338

根据以上文章修改ulimit -HSn 102400 参数,并且删除lock文件,清空log/目录下日志,

[2020/1/7 17:25:25] [mongo@ai-learning-mongo-1 db]$ rm -f mongod.lock

[2020/1/7 17:25:29] [mongo@ai-learning-mongo-1 mongodb]$ cd logs

[2020/1/7 17:25:30] [mongo@ai-learning-mongo-1 logs]$ ll

[2020/1/7 17:25:30] total 24

[2020/1/7 17:25:30] -rw-rw-r-- 1 mongo mongo 21997 Jan  7 17:09 mongod.log

[2020/1/7 17:25:55] [mongo@ai-learning-mongo-1 logs]$ mv mongod.log /tmp/mongod.log.25

9,重启启动,成功启动mongod 

[2020/1/7 17:26:09] [mongo@ai-learning-mongo-1 logs]$ /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf &

[2020/1/7 17:26:09] [1] 19549

[2020/1/7 17:26:09] [mongo@ai-learning-mongo-1 logs]$ about to fork child process, waiting until server is ready for connections.

[2020/1/7 17:26:09] forked process: 19552

[2020/1/7 17:26:21] child process started successfully, parent exiting

[2020/1/7 17:26:29]

[2020/1/7 17:26:29] [1]+  Done                    /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf

[2020/1/7 17:26:35] [mongo@ai-learning-mongo-1 logs]$ ps -ef | grep mongod

[2020/1/7 17:26:35] appuser  13359  9538  0 16:01 pts/0    00:00:00 vi mongod.conf

[2020/1/7 17:26:35] mongo    19552    1 50 17:26 ?        00:00:13 /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf

[2020/1/7 17:26:35] mongo    19679 19442  0 17:26 pts/1    00:00:00 grep --color=auto mongod

10,另外一台服务器修改以上参数,并且修改目录权限,重启发现报错error number 1

11,查看mongod.log ,尝试提高--maxConnes,启动失败,报错error number 1

[mongo@ai-learning-mongo-2 logs]$ /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf --maxConns=2000 & 

12,根据日志钟第二行, permissions on /app/mongodb/keyfile are too open ,怀疑/app/mongodb/keyfile文件权限给多了,查看权限,果然给多了,收回权限改为400,

[mongo@ai-learning-mongo-2 logs]$ ll /app/mongodb/keyfile

[2020/1/7 17:39:47] -rwxrwxrwx 1 mongo mongo 1024 Feb 26  2019 /app/mongodb/keyfile

[2020/1/7 17:40:12] [mongo@ai-learning-mongo-2 logs]$ exit

[2020/1/7 17:40:12] logout

[2020/1/7 17:40:23] ai-learning-mongo-2-[root@ai-learning-mongo-2 mongodb]# chmod 400 /app/mongodb/keyfile 

13,再次尝试启动,此次启动成功

[2020/1/7 17:41:14] ai-learning-mongo-2-[root@ai-learning-mongo-2 mongodb]# su - mongo

[2020/1/7 17:41:15] Last login: Tue Jan  7 17:33:56 CST 2020 on pts/2

[2020/1/7 17:41:27] [mongo@ai-learning-mongo-2 ~]$  /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf &

[2020/1/7 17:41:27] [1] 21252

[2020/1/7 17:41:27] [mongo@ai-learning-mongo-2 ~]$ about to fork child process, waiting until server is ready for connections.

[2020/1/7 17:41:27] forked process: 21254

[2020/1/7 17:41:34] child process started successfully, parent exiting

[2020/1/7 17:42:01]

[2020/1/7 17:42:01] [1]+  Done                    /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf

[2020/1/7 17:42:01] [mongo@ai-learning-mongo-2 ~]$

[2020/1/7 17:42:07] [mongo@ai-learning-mongo-2 ~]$ ps -ef | grep mongo

[2020/1/7 17:42:07] root    21222 20426  0 17:41 pts/2    00:00:00 su - mongo

[2020/1/7 17:42:07] mongo    21223 21222  0 17:41 pts/2    00:00:00 -bash

[2020/1/7 17:42:07] mongo    21254    1 17 17:41 ?        00:00:06 /app/mongodb/bin/mongod --config /app/mongodb/mongod.conf

[2020/1/7 17:42:07] mongo    21389 21223  0 17:42 pts/2    00:00:00 ps -ef

[2020/1/7 17:42:07] mongo    21390 21223  0 17:42 pts/2    00:00:00 grep --color=auto mongo

找到data文件夹db下面扒敬的春做慎mongod.lock文件,并删除掉。

找到data文件夹db下面的storage.bson文件,并删除掉。

然后胡顷重启服务即可

这不是mongodb无法启动,是你野绝世还没有启动mongodb就来连接使用它了,肯定是不成功的。

先去mongodb的bin目录下运行mongod --dbpath XXXX/data 来启动mongodb,然后再来连接mongodb。

简介:

Mongodb,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是颂肢一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。

应用:宏如

MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12491753.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存