重新配置使用bash脚本设置的副本

时间:2013-07-23 15:01:27

标签: bash mongodb replication

有一个副本集,如果该集合可以自动扩展读取,则会创建它。 有时会添加或删除一些新成员。我尝试用bash脚本制作它。

set_name="gomble"
port_client=27072 # primary node in a replica set
port_newbie=28888
# generating a new configuration file by python script
config_file=$(python -c "import new_cfg_v2 as cfg; print cfg.getConfig('$hostname',$port_client,'$hostname',$port_newbie,'$set_name')")

config_file看起来像:

{
    "_id" : "gomble",
    "version" : 4,
    "members" : [
        {
            "host" : "alehandro-VirtualBox:27072",
            "_id" : 0
        },
        {
            "host" : "alehandro-VirtualBox:27077",
            "_id" : 1
        },
        {
            "host" : "alehandro-VirtualBox:27777",
            "_id" : 3
        },
        {
            "host" : "alehandro-VirtualBox:28888",
            "_id" : 4
        }
    ]
}

执行以下命令:

echo $(/usr/bin/mongo --port $port_client --eval "rs.reconfig('$config_file')")

OUTPUT:MongoDB shell版本:2.4.5连接到:127.0.0.1:27072 / test [object Object]

但是没有添加_id:4的新成员???

可以使用rs.add()rs.remove()进行重新配置,但我希望也可以使用rs.reconfig()进行重新配置。

0 个答案:

没有答案