5
votes

I an trying this one:

mongod --replSet mySet --dbpath /data/r1 --port 27017 --oplogSize 700

mongod --replSet mySet --dbpath /data/r2 --port 27018 --oplogSize 700

mongod --replSet mySet --dbpath /data/r3 --port 27019 --oplogSize 700

then in new terminal:

/mongo --port 27017
MongoDB shell version: 2.0.2
connecting to: 127.0.0.1:27017/test 

> cfg = {

    _id : "mySet",
    members : [
    { _id : 0, host : "localhost:27017" },
    { _id : 1, host : "localhost:27018" },
    { _id : 2, host : "localhost:27019" } ] } 

And when I run

rs.initiate(cfg)

I an getting this error:

{ "errmsg" : "server is not running with --replSet", "ok" : 0 }

Why I am getting this error?

from log file:

Fri Jun 01 15:05:11 [initandlisten] MongoDB starting : pid=5236 port=27017 dbpath=c:\mongodb\data 64-bit host=mami
Fri Jun 01 15:05:11 [initandlisten] db version v2.0.4, pdfile version 4.5
Fri Jun 01 15:05:11 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf
Fri Jun 01 15:05:11 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_42
Fri Jun 01 15:05:11 [initandlisten] options: { dbpath: "c:\mongodb\data", logappend: true, logpath: "c:\mongodb\logs\logfilename.log", service: true }
Fri Jun 01 15:05:11 [initandlisten] journal dir=c:/mongodb/data/journal
Fri Jun 01 15:05:11 [initandlisten] recover : no journal files present, no recovery needed
Fri Jun 01 15:05:12 [initandlisten] waiting for connections on port 27017
Fri Jun 01 15:05:12 [websvr] admin web console waiting for connections on port 28017
Fri Jun 01 15:05:12 [initandlisten] connection accepted from 127.0.0.1:49663 #1
Fri Jun 01 15:05:56 [conn1] end connection 127.0.0.1:49663
Fri Jun 01 15:06:02 [initandlisten] connection accepted from 127.0.0.1:49669 #2
Fri Jun 01 15:06:11 [clientcursormon] mem (MB) res:22 virt:67 mapped:0
Fri Jun 01 15:06:19 [conn2] terminating, shutdown command received
Fri Jun 01 15:06:19 dbexit: shutdown called
Fri Jun 01 15:06:19 [conn2] shutdown: going to close listening sockets...
Fri Jun 01 15:06:19 [conn2] closing listening socket: 488
Fri Jun 01 15:06:19 [conn2] closing listening socket: 492
Fri Jun 01 15:06:19 [conn2] shutdown: going to flush diaglog...
Fri Jun 01 15:06:19 [conn2] shutdown: going to close sockets...
Fri Jun 01 15:06:19 [conn2] shutdown: waiting for fs preallocator...
Fri Jun 01 15:06:19 [conn2] shutdown: lock for final commit...
Fri Jun 01 15:06:19 [conn2] shutdown: final commit...
Fri Jun 01 15:06:19 [conn2] shutdown: closing all files...
Fri Jun 01 15:06:19 [conn2] closeAllFiles() finished
Fri Jun 01 15:06:19 [conn2] journalCleanup...
Fri Jun 01 15:06:19 [conn2] removeJournalFiles
Fri Jun 01 15:06:19 [conn2] shutdown: removing fs lock...
Fri Jun 01 15:06:19 dbexit: really exiting now


***** SERVER RESTARTED *****


Fri Jun 01 15:06:19 [initandlisten] MongoDB starting : pid=6980 port=27017 dbpath=c:\mongodb\data 64-bit host=mami
Fri Jun 01 15:06:19 [initandlisten] db version v2.0.4, pdfile version 4.5
Fri Jun 01 15:06:19 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf
Fri Jun 01 15:06:19 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_42
Fri Jun 01 15:06:19 [initandlisten] options: { dbpath: "c:\mongodb\data", logappend: true, logpath: "c:\mongodb\logs\logfilename.log", service: true }
Fri Jun 01 15:06:19 [initandlisten] journal dir=c:/mongodb/data/journal
Fri Jun 01 15:06:19 [initandlisten] recover : no journal files present, no recovery needed
Fri Jun 01 15:06:19 [initandlisten] waiting for connections on port 27017
Fri Jun 01 15:06:20 [websvr] admin web console waiting for connections on port 28017
Fri Jun 01 15:06:20 [initandlisten] connection accepted from 127.0.0.1:49678 #1
Fri Jun 01 15:06:22 [conn1] end connection 127.0.0.1:49678
Fri Jun 01 15:06:30 [initandlisten] connection accepted from 127.0.0.1:49679 #2
Fri Jun 01 15:06:36 [conn2] terminating, shutdown command received
Fri Jun 01 15:06:36 dbexit: shutdown called
Fri Jun 01 15:06:36 [conn2] shutdown: going to close listening sockets...
Fri Jun 01 15:06:36 [conn2] closing listening socket: 488
Fri Jun 01 15:06:36 [conn2] closing listening socket: 492
Fri Jun 01 15:06:36 [conn2] shutdown: going to flush diaglog...
Fri Jun 01 15:06:36 [conn2] shutdown: going to close sockets...
Fri Jun 01 15:06:36 [conn2] shutdown: waiting for fs preallocator...
Fri Jun 01 15:06:36 [conn2] shutdown: lock for final commit...
Fri Jun 01 15:06:36 [conn2] shutdown: final commit...
Fri Jun 01 15:06:36 [conn2] shutdown: closing all files...
Fri Jun 01 15:06:36 [conn2] closeAllFiles() finished
Fri Jun 01 15:06:36 [conn2] journalCleanup...
Fri Jun 01 15:06:37 [conn2] removeJournalFiles
Fri Jun 01 15:06:37 [conn2] shutdown: removing fs lock...
Fri Jun 01 15:06:37 dbexit: really exiting now


***** SERVER RESTARTED *****


Fri Jun 01 15:06:37 [initandlisten] MongoDB starting : pid=7076 port=27017 dbpath=c:\mongodb\data 64-bit host=mami
Fri Jun 01 15:06:37 [initandlisten] db version v2.0.4, pdfile version 4.5
Fri Jun 01 15:06:37 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf
Fri Jun 01 15:06:37 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_42
Fri Jun 01 15:06:37 [initandlisten] options: { dbpath: "c:\mongodb\data", logappend: true, logpath: "c:\mongodb\logs\logfilename.log", service: true }
Fri Jun 01 15:06:37 [initandlisten] journal dir=c:/mongodb/data/journal
Fri Jun 01 15:06:37 [initandlisten] recover : no journal files present, no recovery needed
Fri Jun 01 15:06:37 [initandlisten] waiting for connections on port 27017
Fri Jun 01 15:06:37 [websvr] admin web console waiting for connections on port 28017
Fri Jun 01 15:06:37 [initandlisten] connection accepted from 127.0.0.1:49680 #1
Fri Jun 01 15:06:39 [conn1] end connection 127.0.0.1:49680
Fri Jun 01 15:07:37 [clientcursormon] mem (MB) res:22 virt:66 mapped:0
Fri Jun 01 15:53:55 [clientcursormon] mem (MB) res:0 virt:64 mapped:0
Fri Jun 01 15:58:55 [clientcursormon] mem (MB) res:1 virt:64 mapped:0
Fri Jun 01 15:59:24 [initandlisten] connection accepted from 127.0.0.1:50087 #2
Fri Jun 01 15:59:55 [clientcursormon] mem (MB) res:2 virt:65 mapped:0
Fri Jun 01 16:04:55 [clientcursormon] mem (MB) res:2 virt:65 mapped:0
Fri Jun 01 16:06:07 [conn2] replSet replSetInitiate admin command received from client

I`ve tried this tutorial replSet but still nothing

7

7 Answers

17
votes

One reason that I can think of is that you already had a mongod running on port 27017 without the --replSet argument before you tried starting it with. Make sure no mongod is running (ps aux |grep mongod) before you try this. I would also inspect the log file as it is likely that it gives a clue why it did not start in replica-set mode.

2
votes

A simple solution I found to this was to specify a subargument to the --replSet.

I configure my Mongo Server to be a ReplicaSet with only one node as It act as PRYMARY, there won't be another node to READ purpouses.

This is what helped me when running mongod service.

/> sudo mongod --replSet myReplSet

Once I logged with mongo then the prompt changed, then I could configure the rs correctly:

/myReplSet:PRIMARY> cfg = { _id : "mySet", members : [ { _id : 0, host : "localhost:27017" } ] }

/myReplSet:PRIMARY> rs.initiate(cfg)

And that made the trick!!

I hope this helps someone.

1
votes

I noticed its linux permission problem as suggest post above.To fix it you need set permission to data directory command for it is sudo chown -R $USER /data. I had same problem with npm.

0
votes

I had exactly same problem while doing my mongodb replication & sharding homework.. Just after running the following command:

./mongod --replSet m101 --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64 --fork

and then doing the ps aux | grep mongo check I realised there was nothing actually being run. What I did to make it working was just to run those command as a system root so finally I run mongod process like:

sudo ./mongod --replSet m101 --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64 --fork

That was it! :)

Hope it helps.

0
votes

I managed to work this around.

  1. I first removed the mongodb: sudo apt-get remove mongodb

  2. I followed the MongoDB tutorial:

  3. However, after the step...: sudo apt-get update

  4. ...I decided to reinstall mongodb: sudo apt-get remove mongodb (At this step I possibly specified 'mongodb-server').

And, magically, the replSet name was able to load from the mongodb.conf. I was left to rs.initiate() - and that's it.

Note: I started with 2.4.9 and finished with the same 2.4.9 - just working.

0
votes

Had the same problem, so in my case that there was one more mongod process running in the system (that of course was running without --replSet flag on default port, thats why I had this error).

run command:

$ ps aux | grep mongod

in my case it outputted:

root 63434 0.3 0.1 2621328 12228 ?? S 5:53PM 0:03.44 mongod --replSet m101 --logpath 1.log --dbpath /data/rs1 --port 27017 --smallfiles --oplogSize 64 --fork

root 63442 0.2 0.1 2622352 12220 ?? S 5:54PM 0:03.37 mongod --replSet m101 --logpath 2.log --dbpath /data/rs2 --port 27018 --smallfiles --oplogSize 64 --fork

root 63448 0.2 0.1 2621312 12208 ?? S 5:54PM 0:03.35 mongod --replSet m101 --logpath 3.log --dbpath /data/rs3 --port 27019 --smallfiles --oplogSize 64 --fork

pavlo 683 0.0 0.0 3082276 6628 ?? S 31Aug14 11:27.70 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf

pavlo 63522 0.0 0.0 2432784 624 s002 S+ 6:06PM 0:00.00 grep mongod

So the process with id 683 was on a way, so after I killed it everything works:

$ kill 683
0
votes

yup, same here on my ubuntu 15.04. And by resolving port solved it. Also, check the log so the execution status let us know how its working.