I check on same version on windows server with mongodb 3.4.6. Please find below scripts.
1) run shard servers
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --shardsvr --replSet rs0 --dbpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod1" --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod1\log.int1" --port 27000 --logappend
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --shardsvr --replSet rs0 --dbpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod2" --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod2\log.int2" --port 27001 --logappend
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --shardsvr --replSet rs0 --dbpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod3" --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod3\log.int3" --port 27002 --logappend
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --shardsvr --replSet rs0 --dbpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod4" --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongod4\log.int4" --port 27003 --logappend
2) config servers
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --configsvr --replSet rsconfig --dbpath "C:\Mongodb_Databases\MongoDB_Shard\WT_Shardcfg0" --port 26050 --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_Shardcfg0\log.cfg00" --logappend
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --configsvr --replSet rsconfig --dbpath "C:\Mongodb_Databases\MongoDB_Shard\WT_Shardcfg1" --port 26051 --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_Shardcfg0\log.cfg01" --logappend
"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --configsvr --replSet rsconfig --dbpath "C:\Mongodb_Databases\MongoDB_Shard\WT_Shardcfg2" --port 26052 --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_Shardcfg0\log.cfg02" --logappend
3) mongos mongo router
"C:\Program Files\MongoDB\Server\3.4\bin\mongos.exe" --configdb rsconfig/BSS-BC4-Benchmark2:26050,BSS-BC4-Benchmark2:26051,BSS-BC4-Benchmark2:26052 --logappend --logpath "C:\Mongodb_Databases\MongoDB_Shard\WT_mongos\log.mongos0" --bind_ip 127.0.0.1,10.10.180.39
4) Connect any shard instance in replica and initiate replica set using rs.initiate()
rs.initiate(
{
_id : "rs0",
members: [
{ _id : 0, host : "Mongo-Test-PC:27000" },
{ _id : 1, host : "Mongo-Test-PC:27001" },
{ _id : 2, host : "Mongo-Test-PC:27002" },
{ _id : 3, host : "Mongo-Test-PC:27003" }
]
}
);
5) Connect any config server and initiate replica set for config server using rs.initiate() - name must be different from shard replica
rs.initiate();
rs.status();
cfg = rs.conf();
cfg.members[0].priority = 3;
rs.reconfig(cfg);
rs.add({ host:"Mongo-Test-PC:26051", priority: 2});
rs.add({ host:"Mongo-Test-PC:26052", priority: 1});
rs.status();
6) Connect mongos and ser read pref and add shard.
db.getMongo().getReadPref();
db.getMongo().setReadPref('secondary');
db.getMongo().setReadPref('primaryPreferred');
db.getMongo().getReadPref();
sh.addShard("rs0/Mongo-Test-PC:27000");
sh.status();
create database shardtest
sh.enableSharding('shardtest');
use shardtest
db.createCollection("shardcollection");
Hope this will help you.