有一个副本集,如果该集可以自动扩展读取,它将被创建。有时会添加或删除一些新成员。我尝试在 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')")
输出:MongoDB shell 版本:2.4.5 连接到:127.0.0.1:27072/test [object Object]
但是没有添加 _id:4 的新成员???
可以使用rs.add()
,进行重新配置rs.remove()
,但我希望也可以使用rs.reconfig()
。