46 lines
931 B
JavaScript
46 lines
931 B
JavaScript
'use strict';
|
|
|
|
const co = require('co');
|
|
|
|
co(function*() {
|
|
var Sharded = require('mongodb-topology-manager').Sharded;
|
|
|
|
// Create new instance
|
|
var topology = new Sharded({
|
|
mongod: 'mongod',
|
|
mongos: 'mongos'
|
|
});
|
|
|
|
yield topology.addShard([{
|
|
options: {
|
|
bind_ip: 'localhost', port: 31000, dbpath: `/data/db/31000`, shardsvr: null
|
|
}
|
|
}], { replSet: 'rs1' });
|
|
|
|
yield topology.addConfigurationServers([{
|
|
options: {
|
|
bind_ip: 'localhost', port: 35000, dbpath: `/data/db/35000`
|
|
}
|
|
}], { replSet: 'rs0' });
|
|
|
|
yield topology.addProxies([{
|
|
bind_ip: 'localhost', port: 51000, configdb: 'localhost:35000'
|
|
}], {
|
|
binary: 'mongos'
|
|
});
|
|
|
|
console.log('Start...');
|
|
// Start up topology
|
|
yield topology.start();
|
|
|
|
console.log('Started');
|
|
|
|
// Shard db
|
|
yield topology.enableSharding('test');
|
|
|
|
console.log('done');
|
|
}).catch(error => {
|
|
console.error(error);
|
|
process.exit(-1);
|
|
});
|