首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RHEL7系统自动启动mongo服务?

RHEL7系统自动启动mongo服务?
EN

Stack Overflow用户
提问于 2017-02-02 06:54:02
回答 2查看 2.1K关注 0票数 2

我有一个RHEL7服务器,它是Mongo集群的一部分。有三个mongo进程,我想在系统启动时自动启动。一个独神,一个仲裁者和一个蒙哥斯:

  • /usr/bin/mongo -f /etc/mongo_shard001.conf
  • /usr/bin/mongod -f /etc/mongoarb.conf
  • /usr/bin/mongos -f /etc/mongos.conf

我一直试图为这些命令创建systemd服务,例如

代码语言:javascript
复制
[Unit]
Description=mongo configuration server
After=network.target

[Service]
User=mongod
Group=mongod
ExecStart=/usr/bin/mongod -f /etc/mongoconf.conf

[Install]
WantedBy=multi-user.target

当我尝试做sudo systemctl daemon-reload && sudo systemctl start mongoconf时,我会得到这个错误

代码语言:javascript
复制
● mongoconf.service - mongo configuration server
   Loaded: loaded (/etc/systemd/system/mongoconf.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2017-02-02 14:38:34 AWST; 20s ago
  Process: 5114 ExecStart=/usr/bin/mongod -f /etc/mongoconf.conf (code=exited, status=1/FAILURE)
 Main PID: 5114 (code=exited, status=1/FAILURE)

Feb 02 14:38:34 mdb1 systemd[1]: Started mongo configuration server.
Feb 02 14:38:34 mdb1 systemd[1]: Starting mongo configuration server...
Feb 02 14:38:34 mdb1 systemd[1]: mongoconf.service: main process exited, code=exited, status=1/FAILURE
Feb 02 14:38:34 mdb1 systemd[1]: Unit mongoconf.service entered failed state.
Feb 02 14:38:34 mdb1 systemd[1]: mongoconf.service failed.

我还尝试使用带有pid文件的分叉类型:

代码语言:javascript
复制
[Unit]
Description=mongo configuration server
After=network.target

[Service]
User=mongod
Group=mongod
ExecStart=/usr/bin/mongod -f /etc/mongoconf.conf --pidfilepath /var/lib/mongoconf/pid --fork
Type=forking
PIDFile=/var/run/mongodb/mongoconf/pid

[Install]
WantedBy=multi-user.target

但却给出了这个错误

代码语言:javascript
复制
● mongoconf.service - mongo configuration server
   Loaded: loaded (/etc/systemd/system/mongoconf.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2017-02-02 14:45:36 AWST; 4s ago
  Process: 5256 ExecStart=/usr/bin/mongod -f /etc/mongoconf.conf --pidfilepath /var/lib/mongoconf/pid --fork (code=exited, status=1/FAILURE)
 Main PID: 5114 (code=exited, status=1/FAILURE)

Feb 02 14:45:36 mdb1 systemd[1]: Starting mongo configuration server...
Feb 02 14:45:36 mdb1 mongod[5256]: about to fork child process, waiting until server is ready for connections.
Feb 02 14:45:36 mdb1 mongod[5256]: forked process: 5258
Feb 02 14:45:36 mdb1 systemd[1]: mongoconf.service: control process exited, code=exited status=1
Feb 02 14:45:36 mdb1 systemd[1]: Failed to start mongo configuration server.
Feb 02 14:45:36 mdb1 systemd[1]: Unit mongoconf.service entered failed state.
Feb 02 14:45:36 mdb1 systemd[1]: mongoconf.service failed.

手动启动mongo配置很好,并创建了pid文件。

代码语言:javascript
复制
/usr/bin/mongod -f /etc/mongoconf.conf --pidfilepath /var/lib/mongoconf/pid --fork

我正在使用的mongod版本是来自mongodb.com的版本,我按照他们的安装指南安装了它。

代码语言:javascript
复制
db version v3.4.1
git version: 5e103c4f5583e2566a45d740225dc250baacfbd7
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
    distmod: rhel70
    distarch: x86_64
    target_arch: x86_64

从这次回购中

代码语言:javascript
复制
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

我想知道我是不是走错了路,有更好的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-03 04:15:38

这是我的解决办法

使用以下行创建bash脚本

代码语言:javascript
复制
/usr/bin/mongod -f /etc/mongo_shard001.conf
/usr/bin/mongod -f /etc/mongoarb.conf
/usr/bin/mongos -f /etc/mongos.conf

然后将这一行添加到crontab中。

代码语言:javascript
复制
@reboot root cd /foldername && ./scriptname.sh

如果有人知道如何设置,systemd将是一个更好的解决方案。

蒙戈文件帮不上忙

票数 0
EN

Stack Overflow用户

发布于 2017-12-01 18:23:10

我知道你说过rhel7,但是因为这是duckduckgo关于这个问题的唯一答案,这可能是有用的。在Ubuntu 15及以上:

sudo systemctl enable mongod.service

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41995913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档