默认情况下,MongoDB使用mongod
用户帐户运行。创建后,将这些目录的所有者和组设置为mongod
:
安装:/use/local/mongodb
configsvr:mkdir -p /test/configsvr/{27011,27012,27013}/data # 3个
启动configsvr:
/usr/local/mongodb/bin/mongod --dbpath=/test/configsvr/27011/data/ --port 27011 --fork --logpath=/test/configsvr/27011/configsvr.log --logappend --bind_ip_all --replSet=testconfigsvr --configsvr
/usr/local/mongodb/bin/mongod --dbpath=/test/configsvr/27012/data/ --port 27012 --fork --logpath=/test/configsvr/27012/configsvr.log --logappend --bind_ip_all --replSet=testconfigsvr --configsvr
/usr/local/mongodb/bin/mongod --dbpath=/test/configsvr/27013/data/ --port 27013 --fork --logpath=/test/configsvr/27013/configsvr.log --logappend --bind_ip_all --replSet=testconfigsvr --configsvr
配置:
/usr/local/mongodb/bin/mongo --port 27011
rs.initiate({_id:'testconfigsvr',members:[{_id:0,host:'127.0.0.1:27011'},{_id:1,host:'127.0.0.1:27012'},{_id:2,host:'127.0.0.1:27013'}]})
mongos:路由 # mkdir -p /test/mongos
/usr/local/mongodb/bin/mongos --port 27017 --configdb testconfigsvr/127.0.0.1:27011,127.0.0.1:27012,127.0.0.1:27013 --fork --logpath /test/mongos/mongos.log --logappend
/usr/local/mongodb/bin/mongo # 登录
mongos> sh.status()
--- Sharding Status ---
sharding version: {
"_id" : 1,
"minCompatibleVersion" : 5,
"currentVersion" : 6,
"clusterId" : ObjectId("5e5962d1f685b7a247e323c0")
}
shards:
active mongoses:
autosplit:
Currently enabled: yes
balancer:
Currently enabled: yes
Currently running: no
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
No recent migrations
databases:
{ "_id" : "config", "primary" : "config", "partitioned" : true }mongos>
shardsvr:mkdir -p /test/mongodb/{27021,27022}/data
/usr/local/mongodb/bin/mongod --dbpath /test/mongodb/27021/data --logpath /test/mongodb/27021/mongo.log --logappend --fork --port 27021 --shardsvr
/usr/local/mongodb/bin/mongod --dbpath /test/mongodb/27022/data --logpath /test/mongodb/27022/mongo.log --logappend --fork --port 27022 --shardsvr
/usr/local/mongodb/bin/mongo # 登录
mongos> sh.addShard("127.0.0.1:27021")
{
"shardAdded" : "shard0000",
"ok" : 1,
"operationTime" : Timestamp(1582917561, 4),
"$clusterTime" : {
"clusterTime" : Timestamp(1582917561, 4),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
mongos> sh.addShard("127.0.0.1:27022")mongos> sh.status()
--- Sharding Status ---
sharding version: {
"_id" : 1,
"minCompatibleVersion" : 5,
"currentVersion" : 6,
"clusterId" : ObjectId("5e5962d1f685b7a247e323c0")
}
shards:
{ "_id" : "shard0000", "host" : "127.0.0.1:27021", "state" : 1 }
{ "_id" : "shard0001", "host" : "127.0.0.1:27022", "state" : 1 }
active mongoses:
"4.2.3" : 1
autosplit:
Currently enabled: yes
balancer:
Currently enabled: yes
Currently running: no
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
No recent migrations
databases:
{ "_id" : "config", "primary" : "config", "partitioned" : true }mongos>
Replica set options:
--replSet arg arg is <setname>
Sharding options:
--configsvr Declare this is a config db of a
cluster; default port 27019; default
dir /data/configdb
--shardsvr Declare this is a shard db of a
cluster; default port 27018
Storage options:
--dbpath arg
----------------------
rs.status()
rs.initiate()
rs.initiate(cfg)
rs.conf()
rs.reconfig(cfg)
rs.add(hostportstr)
rs.slaveOk()
db.isMaster()
--------------------------
副本集的重新选举影响条件:
心跳,优先级,optime,网络
------------------------------
->mongos:Route;config server:元数据服务器;shard:数据节点,mongod实例;
sh.enableSharding(dbname, shardName)
mongos> sh.enableSharding("testdb")
sh.shardCollection(fullName,key,unique,options)
sh.shardCollection("testdb.user",{"user_no":1})