As I am new with MongoDB.
I have configured 2 config server, 2 shards and all are connected with mongod client. Also, One Mongos client is UP and Running.
I am currenctly implementing Sharding using Mongo Zone. As I have to store the data accourding to country/Zone. But facing below error in shards:
2018-05-03T16:22:40.200+0530 W SHARDING [conn13] Chunk move failed :: caused by ::
NoShardingEnabled: Cannot accept sharding commands if not started with --shardsvr
2018-05-03T16:27:11.223+0530 I SHARDING [Balancer] Balancer move testdb.user:
[{ zipcode: "380001" }, { zipcode: "39000" }), from rs1, to rs0 failed :: caused by ::
NoShardingEnabled: Cannot accept sharding commands if not started with --shardsvr
I have already started server with --shardsvr
and also mentioned in config file as well. But still I am facing issue.
Below are the all config files:
mongosconfig.cfg
systemLog:
destination: file
path: "c:\\data\\log\\mongos.log"
logAppend: true
sharding:
configDB: "rs0/192.168.1.113:27017,192.168.1.112:27017"
net:
bindIp: 192.168.1.113
port: 27018
mongoclientconfig.cfg - configserver1
systemLog:
destination: file
path: "c:\\data\\log\\mongoclient.log"
logAppend: true
storage:
dbPath: "c:\\data\\db\\configdb"
journal:
enabled: true
sharding:
clusterRole: "configsvr"
net:
bindIp: 192.168.1.113
port: 27017
replication:
replSetName: "rs0"
mongodconfig.cfg - shard1
systemLog:
destination: file
path: "c:\\data\\log\\mongod.log"
logAppend: true
storage:
dbPath: "c:\\data\\db\\clientdb"
journal:
enabled: true
sharding:
clusterRole: "shardsvr"
net:
bindIp: 192.168.1.113
port: 27019
replication:
replSetName: "rs0"
mongoclientconfig.cfg - configserver2
systemLog:
destination: file
path: "D:\\data\\log\\mongoclient.log"
logAppend: true
storage:
dbPath: "D:\\data\\db\\configdb"
journal:
enabled: true
sharding:
clusterRole: "configsvr"
replication:
replSetName: "rs1"
net:
bindIp: 192.168.1.112
port: 27017
mongodconfig.cfg - Shard2
systemLog:
destination: file
path: "D:\\data\\log\\mongod.log"
logAppend: true
storage:
dbPath: "D:\\data\\db\\clientdb"
journal:
enabled: true
sharding:
clusterRole: "shardsvr"
net:
bindIp: 192.168.1.112
port: 27019
replication:
replSetName: "rs1"
Below are the commands which i have used for zone wise sharding as per the mongodb documentation(official):
rs.initiate({_id: "rs0",members: [{ _id : 0, host : "192.168.1.113:27019" }]}) //for shard1
rs.initiate({_id: "rs1",members: [{ _id : 1, host : "192.168.1.112:27019" }]}) //for shard2
sh.addShard("rs0/192.168.1.113:27019"); //Adding shard1 from mongos client
sh.addShard("rs1/192.168.1.112:27019"); //Adding shard2 from mongos client
sh.addShardToZone("rs0","IND");
sh.addShardToZone("rs1","UK");
sh.addTagRange("testdb.user", {zipcode: "380001"}, {zipcode: "390000"},
"IND");
sh.addTagRange("testdb.user", {zipcode: "400000"}, {zipcode: "600000"},
"UK");
sh.shardCollection("testdb.user", { zipcode: 1 } );
Please help me get this resolve.
Thanks in Advance.