Я новичок erlang и mnesia ..Как добавить узел в кластер mnesia?
Как добавить новый узел disc_only_copies в базу данных mnesia, у которой уже есть схема?
Благодаря
Я новичок erlang и mnesia ..Как добавить узел в кластер mnesia?
Как добавить новый узел disc_only_copies в базу данных mnesia, у которой уже есть схема?
Благодаря
Начните свой новый узел ([email protected]
) erl -sname b -mnesia dir '"/path/to/storage"' -s mnesia
. Это запустит новый узел ram_copies, который называется [email protected]
.
На вашем исходном узле ([email protected]
) в приглашении erlang выполнить mnesia:change_config(extra_db_nodes, ['[email protected]']).
Это приведет к тому, что исходный узел подключит b
к кластеру mnesia. На данный момент [email protected]
присоединился к кластеру, но имеет только копию схемы.
Чтобы сделать новый узел [email protected]
, способный хранить копии дисков, необходимо изменить схемы типа таблицы на [email protected]
из ram_copies
в disc_copies
. Запустите mnesia:change_table_copy_type(schema, '[email protected]', disc_copies).
на любом узле.
[email protected]
только имеет копию схемы в этот момент. Для того, чтобы скопировать все таблицы из [email protected]
в [email protected]
и поддерживать типы таблиц, вы можете запустить:
[{Tb, mnesia:add_table_copy(Tb, node(), Type)}
|| {Tb, [{'[email protected]', Type}]} <- [{T, mnesia:table_info(T, where_to_commit)}
|| T <- mnesia:system_info(tables)]].
Эта команда может занять некоторое время, чтобы выполнить, как он будет копировать содержимое каждой таблицы по сети.
[email protected]
- это точная копия [email protected]
. Вы можете изменить этот оператор - замените переменную Type
на disc_only_copies
в вызове mnesia:add_table_copy/3
, чтобы скопировать таблицы, но убедитесь, что они только на диске.
mnesia documentation объясняет, как использовать функции, которые я здесь показал.
Возможно, вы знаете ответ на этот вопрос http://stackoverflow.com/questions/3702201/remove-not-exist-already-node-from-mnesia-clusterscheme – vinnitu
Не думайте, что вы знаете ответ на этот вопрос, связанный вопрос? http://stackoverflow.com/questions/13398632/creating-mnesia-disk-copies-of-existing-ram-table – mezamorphic