p(1392313137, 1),
"optimeDate" : ISODate("2014-02-13T17:38:57Z"),
"self" : true
},
{
"_id" : 1,
"name" : "172.17.253.217:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 815,
"optime" : Timestamp(1392313137, 1),
"optimeDate" : ISODate("2014-02-13T17:38:57Z"),
"lastHeartbeat" : ISODate("2014-02-13T10:53:10Z"),
"lastHeartbeatRecv" : ISODate("2014-02-13T10:53:11Z"),
"pingMs" : 1,
"syncingTo" : "172.17.253.216:27017"
},
{
"_id" : 2,
"name" : "172.17.253.67:27017",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 776,
"lastHeartbeat" : ISODate("2014-02-13T10:53:11Z"),
"lastHeartbeatRecv" : ISODate("2014-02-13T10:53:10Z"),
"pingMs" : 0
}
],
"ok" : 1
}
同样方法,配置shard2用到的replica sets:
这里我们之添加172.17.253.217:27018单机
2.3配置三台config server,启动配置节点
Server1:
mkdir -p /mongodb/data/config
./mongod –configsvr –dbpath /mongodb/data/config –port 20000 –logpath /mongodb/data/config.log –logappend –fork #config server也需要dbpath
Server2:
mkdir -p /mongodb/data/config
./mongod –configsvr –dbpath /mongodb/data/config –port 20000 –logpath /mongodb/data/config.log –logappend –fork
Server3:
mkdir -p /mongodb/data/config
./mongod –configsvr –dbpath /mongodb/data/config –port 20000 –logpath /mongodb/data/config.log –logappend –fork
方式二:
由于配置文件比较多,建议写在文件中
Server1:
#config.conf
dbpath=/opt/mongodb/data/config
logpath = /opt/mongodb/data/config.log
logappend = true
bind_ip=172.17.253.216
port = 20000
fork = true
[root@localhost bin]# ./mongod -configsvr -f config.conf
about to fork child process, waiting until server is ready for connections.
forked process: 24132
all output going to: /opt/mongodb/data/config.log
child process started successfully, parent exiting
Server2:
dbpath=/opt/mongodb/data/config
logpath = /opt/mongodb/data/config.log
logappend = true
bind_ip=172.17.253.217
port = 20000
fork = true
Server3:
dbpath=/opt/mongodb/data/config
logpath = /opt/mongodb/data/config.log
logappend = true
bind_ip=172.17.253.67
port = 20000
fork = true
2.4启动路由节点
在每一台server上都执行
[root@localhost bin]# ./mongos --configdb 172.17.253.217:20000,172.17.253.67:20000,172.17.253.216:20000 -port 30000 -chunkSize 5 -logpath /opt/mongodb/data/mongos.log -logappend -fork
about to fork child process, waiting until server is ready for connections.
forked process: 26210
all output going to: /opt/mongodb/data/mongos.log
child process started successfully, parent exiting
2.5配置Sharding
连接到其中一个mongos进程,并切换到admin数据库做以下配置
1. 连接到mongs,并切换到admin
./mongo 172.17.253.217:30000/admin这里必须连接路由节点
>db
Admin
2. 加入shards
如里shard是单台服务器,用>db.runCommand( { addshard : “[:]” } )这样的命令加入,如果shard是replica sets,用replicaSetName/[:port][,serverhostname2[:port],…]这样的格式表示,例如本例执行:
mongos> db.runCommand( { addshard : "shard1/172.17.253.216:27017,172.17.253.67:27017,172.17.253.217:27017",name:"shard1",maxsize:20480});
{ "shardAdded" : "shard1", "ok" : 1 }
mongos> db.runCommand( { addshard : "shard2/172.17.253.217:27018",name:"shard2",maxsize:20480});
{ "shardAdded" : "shard2", "ok" : 1 }
mongos> db.runCommand({listshards:1})
{
"shards" : [
{
"_id" : "shar