Sono un principiante di erlang e mnesia ..Come aggiungere un nodo a un cluster mnesia?
Come si aggiunge un nuovo nodo disc_only_copies a un database mnesia che ha già uno schema?
Grazie
Sono un principiante di erlang e mnesia ..Come aggiungere un nodo a un cluster mnesia?
Come si aggiunge un nuovo nodo disc_only_copies a un database mnesia che ha già uno schema?
Grazie
Avviare il nuovo nodo ([email protected]
) erl -sname b -mnesia dir '"/path/to/storage"' -s mnesia
. Questo avvia un nuovo nodo ram_copies chiamato [email protected]
.
Sul nodo originale ([email protected]
), al prompt di erlang eseguire mnesia:change_config(extra_db_nodes, ['[email protected]']).
Ciò comporterà il nodo originale per la connessione b
al cluster mnesia. A questo punto, [email protected]
si è unito al cluster ma ha solo una copia dello schema.
Per rendere nuovo nodo [email protected]
grado di memorizzare copie del disco, è necessario cambiare il tipo di tabella schema sulla [email protected]
da ram_copies
a disc_copies
. Eseguire mnesia:change_table_copy_type(schema, '[email protected]', disc_copies).
su qualsiasi nodo.
[email protected]
ha solo una copia dello schema a questo punto. Per copiare tutte le tabelle [email protected]
-[email protected]
e mantenere tipi di tabella, è possibile eseguire:
[{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)]].
Questo comando può prendere un po 'per l'esecuzione come sarà copiare il contenuto di ogni tabella sulla rete.
[email protected]
è ora una replica esatta di [email protected]
. È possibile modificare tale dichiarazione: sostituire la variabile Type
con disc_only_copies
nella chiamata a mnesia:add_table_copy/3
per copiare le tabelle ma assicurarsi che siano solo su disco.
Il mnesia documentation spiega come utilizzare le funzioni che ho mostrato qui.
forse hai saputo rispondere a questa domanda http://stackoverflow.com/questions/3702201/remove-not-exist-already-node-from-mnesia-clusterscheme – vinnitu
Non supponete di conoscere la risposta a questo allo stesso modo- domanda correlata? http://stackoverflow.com/questions/13398632/creating-mnesia-disk-copies-of-existing-ram-table – mezamorphic