MongoDB服务没有在Fedora中运行

Qui*_*nGB 23 linux fedora mongodb

刚在Fedora 17 64位上安装了一个干净版的mongodb,但是Mongo服务不会运行.

我在安装过程中遵循了这些说明

运行

service mongod start
Run Code Online (Sandbox Code Playgroud)

结果是

Starting mongod (via systemctl):  Job failed. See system journal and 'systemctl status' for details.  [FAILED]
Run Code Online (Sandbox Code Playgroud)

所以我跑了

systemctl status mongod.service
Run Code Online (Sandbox Code Playgroud)

这给了我

mongod.service - SYSV: Mongo is a scalable, document-oriented database.
  Loaded: loaded (/etc/rc.d/init.d/mongod)
  Active: failed (Result: exit-code) since Mon, 18 Jun 2012 13:15:56 +0200; 58s ago
 Process: 13584 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=1/FAILURE)
  CGroup: name=systemd:/system/mongod.service
Run Code Online (Sandbox Code Playgroud)

Mongo登录/var/log/mongo/mongod.log是空的

谢谢

gui*_*ido 57

如何在fedora linux上安装mongodb和mongodb-server(在f16和f17上验证).所有命令都旨在在su会话中运行.

1)确保你周围没有mongodb安装

# yum erase mongodb
# yum erase mongo-10gen  (if it is installed)
Run Code Online (Sandbox Code Playgroud)

2)从fedora yum存储库安装

# yum --disablerepo=* --enablerepo=fedora,updates install mongodb mongodb-server
Run Code Online (Sandbox Code Playgroud)

3)启动mongod(mongodb守护进程)

# systemctl start mongod.service
Run Code Online (Sandbox Code Playgroud)

4)验证mongod正在运行

# systemctl status mongod.service
# tail /var/log/mongodb/mongodb.log
# nmap -p27017 localhost
Run Code Online (Sandbox Code Playgroud)

或者运行客户端

# mongo
MongoDB shell version: 2.0.2
connecting to: test
> db.test.save( { a: 1 } )
> db.test.find()
{ "_id" : ObjectId("4fdf28f09d16204d66082fa3"), "a" : 1 }
Run Code Online (Sandbox Code Playgroud)

5)自定义配置

# vim /etc/mongodb.conf
# systemctl restart mongod.service
Run Code Online (Sandbox Code Playgroud)

6)使mongodb服务在启动时自动启动

# systemctl enable mongod.service
Run Code Online (Sandbox Code Playgroud)

Fedora 18的更新

当systemd在慢速或加载的机器上第一次启动时,mongod服务可能会在完成初始化之前超时,systemd将服务标记为失败.

症状:

# journalctl -xn

-- Unit mongod.service has begun starting up.
10:38:43 local mongod[24558]: forked process: 24560
10:38:43 local mongod[24558]: all output going to: /var/log/mongodb/mongodb.log
10:40:13 local systemd[1]: mongod.service operation timed out. Terminating.
10:40:13 local systemd[1]: Failed to start High-performance, schema-free document-oriented database.
-- Subject: Unit mongod.service has failed
Run Code Online (Sandbox Code Playgroud)

很容易治愈,重启服务:

# systemctl restart mongod.service
Run Code Online (Sandbox Code Playgroud)

这应该成功完成初始化并使守护进程处于运行状态.