Переконфигурируйте набор реплик с помощью скрипта bash

60
8

Существует набор реплик, и он будет создан, если набор может автоматически масштабировать показания. Иногда добавляется или удаляется какой-то новый член. Я пытаюсь сделать это в сценарии 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: 2.4.5 подключение к: 127.0.0.1:27072/test [object Object]

Но новый член с _id: 4 не добавлен???

Реконфигурация может быть выполнена с помощью rs.add(), rs.remove(), но я надеюсь, что это можно сделать и с помощью rs.reconfig().

спросил(а) 2013-07-23T18:01:00+04:00 7 лет, 4 месяца назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема