我想在副本集上设置 mongodb 分片集群。我已经在 3 台机器上设置了副本集,所以对于分片集群,我可以使用这些机器吗?我的副本集状态如下。
rs.status()
{
"set" : "repSet",
"date" : ISODate("2013-01-12T09:49:10Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "10.1.4.138:27017",
"health" : 1,
"state" : 3,
"stateStr" : "SECONDARY",
"uptime" : 94839,
"optime" : Timestamp(1357901076000, 4),
"optimeDate" : ISODate("2013-01-11T10:44:36Z"),
"lastHeartbeat" : ISODate("2013-01-12T09:49:10Z"),
"pingMs" : 0,
"errmsg" : "still syncing, not yet to minValid optime 50f04939:1"
},
{
"_id" : 1,
"name" : "10.1.4.21:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 94840,
"optime" : Timestamp(1357982990000, 5587),
"optimeDate" : ISODate("2013-01-12T09:29:50Z"),
"self" : true
},
{
"_id" : 2,
"name" : "10.1.4.88:27017",
"health" : 1,
"state" : 3,
"stateStr" : "RECOVERING",
"uptime" : 87517,
"optime" : Timestamp(1357900674000, 10),
"optimeDate" : ISODate("2013-01-11T10:37:54Z"),
"lastHeartbeat" : ISODate("2013-01-12T09:49:10Z"),
"pingMs" : 0,
"errmsg" : "still syncing, not yet to minValid optime 50f04939:1"
}
],
"ok" : 1
}
我浏览了 mongodb 分片设置文档,但不知道如何设置。
为三个配置数据库实例创建以下数据目录:
/data/example/config1
/data/example/config2
/data/example/config3
在系统提示符下发出以下命令:
mkdir -p /data/example/config1 /data/example/config2 /data/example/config3
在单独的终端窗口或 GNU 屏幕窗口中,通过运行以下命令启动配置数据库:
mongod --configsvr --dbpath /data/example/config1 --port 20001
mongod --configsvr --dbpath /data/example/config2 --port 20002
mongod --configsvr --dbpath /data/example/config3 --port 20003
我当前的数据目录是/var/lib/mongodb
,所以我不想创建单独的目录。那么我如何使用当前数据目录以及在所有三台服务器上遵循哪些步骤。
谢谢拉朱