MongoDb通过副本集进行分片设置

时间:2013-01-15 05:34:15

标签: mongodb sharding

我想在副本集上设置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 Screen窗口中,通过运行以下命令启动配置数据库:

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,所以我不想创建单独的目录。 那么我如何使用当前数据目录以及在所有三个服务器上遵循的步骤。

由于 拉朱

1 个答案:

答案 0 :(得分:0)

按照本教程将副本集转换为复制的分片群集: http://docs.mongodb.org/manual/tutorial/convert-replica-set-to-replicated-shard-cluster/