I am new to mongo and am trying the code example given in the tutorail on Mongo site but am facing the issue below. According to the tutorial it should be fairly simple. But i am getting --replSet error even though I have given it while creating a host. I am developing on a standalone machine with fedora linux. Also can some one tell me how do I reset/remove the host once they are assigned.
[root@localhost data]# mongod --replSet cluster1 --port 27019 --dbpath /data/r2
Tue Mar 13 18:40:40
Tue Mar 13 18:40:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Tue Mar 13 18:40:40
Tue Mar 13 18:40:40 [initandlisten] MongoDB starting : pid=9849 port=27019 dbpath=/data/r2 32-bit host=localhost.localdomain
Tue Mar 13 18:40:40 [initandlisten]
Tue Mar 13 18:40:40 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Tue Mar 13 18:40:40 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Tue Mar 13 18:40:40 [initandlisten] ** with --journal, the limit is lower
Tue Mar 13 18:40:40 [initandlisten]
Tue Mar 13 18:40:40 [initandlisten] db version v2.0.3, pdfile version 4.5
Tue Mar 13 18:40:40 [initandlisten] git version: 05bb8aa793660af8fce7e36b510ad48c27439697
Tue Mar 13 18:40:40 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_41
Tue Mar 13 18:40:40 [initandlisten] options: { dbpath: "/data/r2", port: 27019, replSet: "cluster1" }
Tue Mar 13 18:40:40 [initandlisten] waiting for connections on port 27019
Tue Mar 13 18:40:40 [websvr] admin web console waiting for connections on port 28019
Tue Mar 13 18:40:40 [initandlisten] connection accepted from 127.0.0.1:56898 #1
Tue Mar 13 18:40:40 [rsStart] replSet can't get local.system.replset config from self or any seed (EMPTYCONFIG)
Tue Mar 13 18:40:40 [rsStart] replSet info you may need to run replSetInitiate -- rs.initiate() in the shell -- if that is not already done
Tue Mar 13 18:40:50 [rsStart] replSet can't get local.system.replset config from self or any seed (EMPTYCONFIG)
^CTue Mar 13 18:41:00 [rsStart] replSet can't get local.system.replset config from self or any seed (EMPTYCONFIG)
Tue Mar 13 18:41:00 got kill or ctrl c or hup signal 2 (Interrupt), will terminate after current cmd ends
Tue Mar 13 18:41:00 [interruptThread] now exiting
Tue Mar 13 18:41:00 dbexit:
Tue Mar 13 18:41:00 [interruptThread] shutdown: going to close listening sockets...
Tue Mar 13 18:41:00 [interruptThread] closing listening socket: 6
Tue Mar 13 18:41:00 [interruptThread] closing listening socket: 8
Tue Mar 13 18:41:00 [interruptThread] closing listening socket: 9
Tue Mar 13 18:41:00 [interruptThread] removing socket file: /tmp/mongodb-27019.sock
Tue Mar 13 18:41:00 [interruptThread] shutdown: going to flush diaglog...
Tue Mar 13 18:41:00 [interruptThread] shutdown: going to close sockets...
Tue Mar 13 18:41:00 [interruptThread] shutdown: waiting for fs preallocator...
Tue Mar 13 18:41:00 [interruptThread] shutdown: closing all files...
Tue Mar 13 18:41:00 [interruptThread] closeAllFiles() finished
Tue Mar 13 18:41:00 [interruptThread] shutdown: removing fs lock...
Tue Mar 13 18:41:00 [conn1] end connection 127.0.0.1:56898
Tue Mar 13 18:41:00 dbexit: really exiting now
[root@localhost data]# mongo myhost:27017
MongoDB shell version: 2.0.3
connecting to: myhost:27017/test
Tue Mar 13 18:41:13 getaddrinfo("myhost") failed: Name or service not known
Tue Mar 13 18:41:13 Error shell/mongo.js:86
exception: connect failed
[root@localhost data]# mongo localhost:27017
MongoDB shell version: 2.0.3
connecting to: localhost:27017/test
>
>
> config = {_id: 'cluster1', members: [
... {_id: 0, host: 'myhost1:27017'},
... {_id: 1, host: 'myhost2:27018'},
... {_id: 2, host: 'myhost3:27019'}]
... }
{
"_id" : "cluster1",
"members" : [
{
"_id" : 0,
"host" : "myhost1:27017"
},
{
"_id" : 1,
"host" : "myhost2:27018"
},
{
"_id" : 2,
"host" : "myhost3:27019"
}
]
}
> rs.initiate(config);
{ "errmsg" : "server is not running with --replSet", "ok" : 0 }
> exit
bye
Thanks
Why are You Experiencing MongoDB Replication Lag? MongoDB replication lag occurs when the secondary node cannot replicate data fast enough to keep up with the rate that data is being written to the primary node.
MongoDB handles replication through a Replica Set, which consists of multiple MongoDB nodes that are grouped together as a unit. A Replica Set requires a minimum of three MongoDB nodes: One of the nodes will be considered the primary node that receives all the write operations.
A replica set can have only one primary capable of confirming writes with { w: "majority" } write concern; although in some circumstances, another mongod instance may transiently believe itself to also be primary. [1] The primary records all changes to its data sets in its operation log, i.e. oplog.
What is the difference between replication and sharding? Replication: The primary server node copies data onto secondary server nodes. This can help increase data availability and act as a backup, in case if the primary server fails. Sharding: Handles horizontal scaling across servers using a shard key.
When starting the mongod, you have to specify the other hosts, participating iny our replication set, eg. when starting myhost1, you have to add the following argument:
--replSet cluster1/myhost2:27018,myhost3:27019
Just something I noticed, /data
is directly under root /
, did you checked permission rights? Better change to something like ~/temp/something
while testing to avoid pitfalls.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With