启动时无法设置套接字。 dbexit:rc:mongodb中的48错误

时间:2016-01-10 18:15:09

标签: mongodb

我将mongo更新到版本3.2现在我收到此错误。早些时候我没有收到错误。只有在更新mongo后我才会收到此错误。我甚至试图再次停止并启动mongod服务,但它仍然显示相同的错误。

rahul ~ $ mongod
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] MongoDB starting : pid=6630 port=27017 dbpath=/data/db 64-bit host=rahulcomp24-HP-ENVY-15-Notebook-PC
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] db version v3.2.0
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] git version: 45d947729a0315accb6d4f15a6b06be6d9c19fe7
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] modules: none
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] build environment:
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten]     distmod: ubuntu1404
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten]     distarch: x86_64
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2016-01-10T23:39:51.696+0530 I CONTROL  [initandlisten] options: {}
2016-01-10T23:39:51.717+0530 E NETWORK  [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
2016-01-10T23:39:51.717+0530 E NETWORK  [initandlisten]   addr already in use
2016-01-10T23:39:51.717+0530 E STORAGE  [initandlisten] Failed to set up sockets during startup.
2016-01-10T23:39:51.717+0530 I CONTROL  [initandlisten] dbexit:  rc: 48

`

rahul ~ $ mongo
MongoDB shell version: 3.2.0
connecting to: test
Server has startup warnings: 
2016-01-10T23:38:16.095+0530 I CONTROL  [initandlisten] 
2016-01-10T23:38:16.095+0530 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-01-10T23:38:16.095+0530 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-01-10T23:38:16.095+0530 I CONTROL  [initandlisten] 
2016-01-10T23:38:16.095+0530 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-01-10T23:38:16.095+0530 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-01-10T23:38:16.095+0530 I CONTROL  [initandlisten] 

3 个答案:

答案 0 :(得分:5)

查找在端口27017上运行的进程:

C:\Users\hughes> netstat -aon | findstr 27017
  TCP    0.0.0.0:27017          0.0.0.0:0              LISTENING       3344

最后一列显示PID(3344)。找到该PID的进程名称:

C:\Users\hughes> tasklist /fi "pid eq 3344"
Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
VirtualBox.exe                3344 Console                    1    101,908 K

对我来说,事实证明VirtualBox的端口转发是个问题。

答案 1 :(得分:2)

所以mongod输出告诉

listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017"

这意味着某个进程已经在使用相同的socet。例如,如果我尝试在已经运行的情况下运行mongod,我会得到这个输出。你确定这不是你的情况吗?我猜是这样,因为mongo shell似乎连接成功...

答案 2 :(得分:2)

检查db是否正在运行,运行:

kill -9 77071

找到db(例如,这里是77071)并将其终止,运行:

server/__init__.py
相关问题