【问题标题】:Failing to start mongo on a remote machine that I SSH into无法在我通过 SSH 连接的远程机器上启动 mongo
【发布时间】:2015-09-25 11:23:56
【问题描述】:

我在启动 mongo 时遇到了一些问题。我在通过 SSH 连接到的远程机器上使用它。远程机器是我做所有事情的地方(在我自己的机器上什么都不做)。我应该将 bind_ip 从 127.0.0.1 更改为远程机器的 IP 地址吗?但无论我是保留 IP 还是将其更改为远程机器的 IP,我都会收到以下相同的错误消息:

melissa@simba:~$ mongo --version
MongoDB shell version: 2.6.11
melissa@simba:~$ sudo service mongod start
mongod start/running, process 10623
melissa@simba:~$ mongo
MongoDB shell version: 2.6.11
connecting to: test
2015-09-24T19:27:55.279+0000 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2015-09-24T19:27:55.280+0000 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed

我的远程机器是:Ubuntu 11.10 (GNU/Linux 2.6.35.4-rscloud x86_64),其中用户 melissa 是 sudoer。

这是我在启动mongod &时收到的消息

melissa@simba:~$ mongod
mongod --help for help and startup options
2015-09-24T19:40:20.706+0000 [initandlisten] MongoDB starting : pid=10656 port=27017 dbpath=/data/db 64-bit host=simba
2015-09-24T19:40:20.707+0000 [initandlisten] db version v2.6.11
2015-09-24T19:40:20.707+0000 [initandlisten] git version: d00c1735675c457f75a12d530bee85421f0c5548
2015-09-24T19:40:20.707+0000 [initandlisten] build info: Linux build4.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-09-24T19:40:20.707+0000 [initandlisten] allocator: tcmalloc
2015-09-24T19:40:20.707+0000 [initandlisten] options: {}
2015-09-24T19:40:20.746+0000 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2015-09-24T19:40:20.746+0000 [initandlisten] dbexit:
2015-09-24T19:40:20.746+0000 [initandlisten] shutdown: going to close listening sockets...
2015-09-24T19:40:20.746+0000 [initandlisten] shutdown: going to flush diaglog...
2015-09-24T19:40:20.746+0000 [initandlisten] shutdown: going to close sockets...
2015-09-24T19:40:20.746+0000 [initandlisten] shutdown: waiting for fs preallocator...
2015-09-24T19:40:20.746+0000 [initandlisten] shutdown: lock for final commit...
2015-09-24T19:40:20.746+0000 [initandlisten] shutdown: final commit...
2015-09-24T19:40:20.746+0000 [initandlisten] shutdown: closing all files...
2015-09-24T19:40:20.746+0000 [initandlisten] closeAllFiles() finished
2015-09-24T19:40:20.747+0000 [initandlisten] shutdown: removing fs lock...
2015-09-24T19:40:20.747+0000 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
2015-09-24T19:40:20.747+0000 [initandlisten] dbexit: really exiting now

更多信息:

melissa@simba:~$  ps -edaf | grep mongo
melissa  10748 10555  0 19:45 pts/1    00:00:00 grep --color=auto mongo
melissa@simba:~$ service mongod status
status: Unable to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
melissa@simba:~$ sudo service mongod status
mongod stop/waiting
melissa@simba:~$ ps -aux | grep mongo
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
melissa  10786  0.0  0.3   8148   904 pts/1    S+   19:47   0:00 grep --color=auto mongo
melissa@simba:~$ mongod --shutdown
There doesn't seem to be a server running with dbpath: /data/db

然后我尝试根据this更改权限,但又出现新错误:

melissa@simba:~/meeth-app$ sudo chown -R `id -u` /data/db
[sudo] password for melissa:

melissa@simba:~/meeth-app$ mongo
MongoDB shell version: 2.6.11
connecting to: test
2015-09-25T01:57:54.966+0000 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2015-09-25T01:57:54.967+0000 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed

melissa@simba:~/meeth-app$ mongod &
[1] 16467
melissa@simba:~/meeth-app$ mongod --help for help and startup options
2015-09-25T01:55:07.366+0000 [initandlisten] MongoDB starting : pid=16467 port=27017 dbpath=/data/db 64-bit host=simba
2015-09-25T01:55:07.366+0000 [initandlisten] db version v2.6.11
2015-09-25T01:55:07.366+0000 [initandlisten] git version: d00c1735675c457f75a12d530bee85421f0c5548
2015-09-25T01:55:07.366+0000 [initandlisten] build info: Linux build4.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-09-25T01:55:07.366+0000 [initandlisten] allocator: tcmalloc
2015-09-25T01:55:07.366+0000 [initandlisten] options: {}
2015-09-25T01:55:07.369+0000 [initandlisten] journal dir=/data/db/journal
2015-09-25T01:55:07.369+0000 [initandlisten] recover : no journal files present, no recovery needed
2015-09-25T01:55:07.370+0000 [initandlisten]
2015-09-25T01:55:07.370+0000 [initandlisten] ERROR: Insufficient free space for journal files
2015-09-25T01:55:07.370+0000 [initandlisten] Please make at least 3379MB available in /data/db/journal or use --smallfiles
2015-09-25T01:55:07.370+0000 [initandlisten]
2015-09-25T01:55:07.370+0000 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2015-09-25T01:55:07.370+0000 [initandlisten] dbexit:
2015-09-25T01:55:07.370+0000 [initandlisten] shutdown: going to close listening sockets...
2015-09-25T01:55:07.370+0000 [initandlisten] shutdown: going to flush diaglog...
2015-09-25T01:55:07.370+0000 [initandlisten] shutdown: going to close sockets...
2015-09-25T01:55:07.370+0000 [initandlisten] shutdown: waiting for fs preallocator...
2015-09-25T01:55:07.370+0000 [initandlisten] shutdown: lock for final commit...
2015-09-25T01:55:07.370+0000 [initandlisten] shutdown: final commit...
2015-09-25T01:55:07.370+0000 [initandlisten] shutdown: closing all files...
2015-09-25T01:55:07.370+0000 [initandlisten] closeAllFiles() finished
2015-09-25T01:55:07.370+0000 [initandlisten] journalCleanup...
2015-09-25T01:55:07.370+0000 [initandlisten] removeJournalFiles
2015-09-25T01:55:07.371+0000 [initandlisten] shutdown: removing fs lock...
2015-09-25T01:55:07.371+0000 [initandlisten] dbexit: really exiting now

【问题讨论】:

  • 错误在这一行:exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
  • 我试图终止 mongo,但我仍然得到同样的结果。 melissa@simba:~$ mongod --shutdown 好像没有运行dbpath的服务器:/data/db
  • 我想帮助你,但不幸的是我是一名软件开发人员(就像这个网站上的大多数人一样)。不是Ubuntu 用户(或linux user in general)、server admindatabase administrator

标签: mongodb ssh


【解决方案1】:

/data 的权限错误。启动无法写入 PID 文件或可能的 db 文件。试试

sudo chmod -R mongodb /data

【讨论】:

    【解决方案2】:

    这就是让 mongo 再次工作的原因。顺便说一句,我在 Ubuntu 11.10 上。

    将 /data 的所有者从 root 更改为 mongodb:sudo chown -R mongodb /data

    /etc/mongod.conf:smallfiles = true中添加一行打开小文件

    不要运行mongod &,因为它不是从具有正确权限的地方运行,而是运行sudo service mongod start,您可以使用mongo 打开mongo shell。

    感谢来自 freenode irc #linux 的 r05c03 和 oldlaptop 的帮助。

    【讨论】:

      猜你喜欢
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 2020-06-05
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多