debian+mongodb+systemd,启动起来没一会就挂,有同学遇到过吗

2015-09-04 14:32:30 +08:00
 waytwoex

我 vps 的配置:

Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24 ) x86_64 GNU/Linux

mongod --version

db version v3.0.3

systemd 配置文件:/etc/systemd/system/mongodb.service

[Unit]
Description=High-performance, schema-free document-oriented database
After=syslog.target network.target

[Service]
User=mongodb
Group=mongodb
PIDFile=/var/run/mongodb/mongod.pid
EnvironmentFile=/etc/sysconfig/mongod
ExecStart=/usr/local/mongod/mongod $OPTIONS

[Install]
WantedBy=multi-user.target

环境文件:/etc/sysconfig/mongod

OPTIONS="--quiet -f /etc/mongodb.conf"

/etc/mongodb.conf 就是默认的 mongodb 配置文件,我就不列出来了。
然后,各个目录权限都设置正常了(和权限没关系,用 root 也是一样的问题),正常启动没问题,但过几分钟立马就挂,我试了好多次了。
挂了之后 systemctl -l status mongodb.service ,得到结果如下:

它的意思是我 mongod 启动的时候超时了,但是实际上我成功启动了呀?网站还能正常跑一段时间,就是不多久就挂。
不知道有木有同学遇到过~求帮助

3136 次点击
所在节点    Linux
10 条回复
cevincheung
2015-09-04 14:54:27 +08:00
试试 Service 段加上 Type=forking ?
funagi
2015-09-04 15:12:49 +08:00
VPS 的物理内存多大?
adrianzhang
2015-09-04 15:21:15 +08:00
改个方法吧 Debian+Docker+MongoDB
scys
2015-09-04 16:12:40 +08:00
修改参数,第一次 mongod 启动会花费大量时间在创建文件。
preallocDataFiles: false
停止预分配,或者将超时监测时间增加。
waytwoex
2015-09-04 19:42:50 +08:00
@funagi 直接用命令启动是 OK 的,稳定跑了几个月。。
waytwoex
2015-09-04 19:43:43 +08:00
@cevincheung 本来有 Type=forking 的,不行,才删掉试试,还是不行。。唉
msg7086
2015-09-04 21:45:58 +08:00
可能 Type=Simple ?

话说你这是系统包安装的?
msg7086
2015-09-04 21:54:56 +08:00
以下是系统包里的配置。

[Unit]
Description=An object/document-oriented database
Documentation=man:mongod (1 )

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target

所以,目测是你加的那个 PIDFile 有问题?

所以你最好还是贴一下配置文件,或者至少告诉大家你装的是哪里的版本吧……
phithon
2015-09-05 13:27:04 +08:00
ExecStart=/usr/bin/mongod --config /etc/mongodb.conf --fork
cevincheung
2015-09-05 22:07:34 +08:00
Type=forking
GuessMainPID=yes
删除自己的 PID 设置

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/218231

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX