V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
waytwoex
V2EX  ›  Linux

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

  •  
  •   waytwoex · 2015-09-04 14:32:30 +08:00 · 3136 次点击
    这是一个创建于 3369 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我 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 ,得到结果如下:
    enter image description here

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

    第 1 条附言  ·  2015-09-04 19:41:48 +08:00
    忘了说了,如果直接用命令启动是 OK 的:

    ```
    mongod --port 27017 --bind_ip 127.0.0.1 --dbpath /var/data/mongodb --logpath /var/log/mongodb.log --quiet --nohttpinterface
    ```
    10 条回复    2015-09-05 22:07:34 +08:00
    cevincheung
        1
    cevincheung  
       2015-09-04 14:54:27 +08:00
    试试 Service 段加上 Type=forking ?
    funagi
        2
    funagi  
       2015-09-04 15:12:49 +08:00
    VPS 的物理内存多大?
    adrianzhang
        3
    adrianzhang  
       2015-09-04 15:21:15 +08:00
    改个方法吧 Debian+Docker+MongoDB
    scys
        4
    scys  
       2015-09-04 16:12:40 +08:00
    修改参数,第一次 mongod 启动会花费大量时间在创建文件。
    preallocDataFiles: false
    停止预分配,或者将超时监测时间增加。
    waytwoex
        5
    waytwoex  
    OP
       2015-09-04 19:42:50 +08:00
    @funagi 直接用命令启动是 OK 的,稳定跑了几个月。。
    waytwoex
        6
    waytwoex  
    OP
       2015-09-04 19:43:43 +08:00
    @cevincheung 本来有 Type=forking 的,不行,才删掉试试,还是不行。。唉
    msg7086
        7
    msg7086  
       2015-09-04 21:45:58 +08:00
    可能 Type=Simple ?

    话说你这是系统包安装的?
    msg7086
        8
    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
        9
    phithon  
       2015-09-05 13:27:04 +08:00
    ExecStart=/usr/bin/mongod --config /etc/mongodb.conf --fork
    cevincheung
        10
    cevincheung  
       2015-09-05 22:07:34 +08:00
    Type=forking
    GuessMainPID=yes
    删除自己的 PID 设置
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1170 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:59 · PVG 01:59 · LAX 09:59 · JFK 12:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.