-1

​This what I am doing to solve the problem Please have look in it and tell me what is going wrong. I removed mongod.lock file then cd back and run ./mongod but still not working.

oxmat:~ $ cd data
oxmat:~/data $ ls
local/  local.0  local.ns  mongod.lock*  restfull_blogapp/  restfull_blogapp.0  restfull_blogapp.ns  yelp_camp/  yelp_camp.0  yelp_camp.ns
oxmat:~/data $ rm mongod.lock
oxmat:~/data $ ls
local/  local.0  local.ns  restfull_blogapp/  restfull_blogapp.0  restfull_blogapp.ns  yelp_camp/  yelp_camp.0  yelp_camp.ns
oxmat:~/data $ cd ..
oxmat:~ $ ./mongod
2017-08-25T11:58:50.766+0000 ** WARNING: --rest is specified without --httpinterface,
2017-08-25T11:58:50.766+0000 **          enabling http interface
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
2017-08-25T11:58:50.770+0000 [initandlisten] MongoDB starting : pid=5842 port=27017 dbpath=data 64-bit host=oxmat-oxmat-5130321
2017-08-25T11:58:50.770+0000 [initandlisten] db version v2.6.12
2017-08-25T11:58:50.770+0000 [initandlisten] git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a
2017-08-25T11:58:50.770+0000 [initandlisten] build info: Linux build5.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
2017-08-25T11:58:50.770+0000 [initandlisten] allocator: tcmalloc
2017-08-25T11:58:50.770+0000 [initandlisten] options: { net: { bindIp: "0.0.0.0", http: { RESTInterfaceEnabled: true, enabled: true } }, storage: { dbPath: "data", journal: { enabled: false } } }
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR:   addr already in use
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:28017
2017-08-25T11:58:50.779+0000 [initandlisten] ERROR:   addr already in use
2017-08-25T11:58:50.780+0000 [initandlisten] now exiting
2017-08-25T11:58:50.780+0000 [initandlisten] dbexit: 
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: going to close listening sockets...
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: going to flush diaglog...
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: going to close sockets...
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: waiting for fs preallocator...
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: closing all files...
2017-08-25T11:58:50.780+0000 [initandlisten] closeAllFiles() finished
2017-08-25T11:58:50.780+0000 [initandlisten] shutdown: removing fs lock...
2017-08-25T11:58:50.780+0000 [initandlisten] dbexit: really exiting now
oxmat:~ $ 
  • If you are attempting to spin up MongoDB on an unpaid instance from Cloud9, then I would hardly call the crash "unexpected". It's really more like "when this inevitably happened!". Databases like a lot more resources than the small instance offerings available there. Instead of trying to spin up a database engine in your VM based IDE and development test bed, go an sign up for a free hosted service of MongoDB instead. There are more than a couple of providers out there now, and the only load on your development environment is a connection string instead. – Neil Lunn Aug 25 '17 at 12:23

1 Answers1

0

The message

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

means something is already bound to port 27017. It's probably another mongod instance.

Run ps -e | grep 'mongo' to see if there is a process for mongod. For example, I get the output:

48298 ttys000    1:14.83 mongod

So you can terminate the process using the process id from that output. In this example, the process id is 48298, so I terminate it with kill 48298

Then try running mongod again.

If for some reason, some other process is using port 27017, then you can use a different port by specifying the --port flag as follows.

./mongod --port 12345
kevinAlbs
  • 1,114
  • 2
  • 11
  • 20