1

レプリカ セットがあり、セットが読み取りを自動的にスケーリングできる場合は作成されます。時々、新しいメンバーが追加または削除されることがあります。私は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 シェル バージョン: 2.4.5 接続先: 127.0.0.1:27072/test [オブジェクト オブジェクト]

しかし、_id:4 の新しいメンバーは追加されませんか???

再構成は 、 でできますが、でもできるといいのrs.add()ですrs.remove()rs.reconfig()

4

0 に答える 0