Soy un novato de erlang y mnesia ..¿Cómo agregar un nodo a un clúster de mnesia?
¿Cómo agrego un nuevo nodo disc_only_copies a una base de datos de mnesia que ya tiene un esquema?
Gracias
Soy un novato de erlang y mnesia ..¿Cómo agregar un nodo a un clúster de mnesia?
¿Cómo agrego un nuevo nodo disc_only_copies a una base de datos de mnesia que ya tiene un esquema?
Gracias
Para empezar el nuevo nodo ([email protected]
) erl -sname b -mnesia dir '"/path/to/storage"' -s mnesia
. Esto inicia un nuevo nodo ram_copies llamado [email protected]
.
En su nodo original ([email protected]
), en el indicador de erlang ejecute mnesia:change_config(extra_db_nodes, ['[email protected]']).
Esto hará que el nodo original se conecte b
al clúster de mnesia. En este punto, [email protected]
se ha unido al clúster pero solo tiene una copia del esquema.
para hacer nuevos [email protected]
el nodo capaz de almacenar copias de discos, tenemos que cambiar el tipo de tabla de esquema en [email protected]
de ram_copies
a disc_copies
. Ejecute mnesia:change_table_copy_type(schema, '[email protected]', disc_copies).
en cualquier nodo.
[email protected]
solo tiene una copia del esquema en este punto. Para copiar todas las tablas [email protected]
-[email protected]
y mantener los tipos de tabla, puede ejecutar:
[{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)]].
Este comando puede tomar un tiempo para ejecutar, ya que copiar el contenido de cada tabla través de la red.
[email protected]
ahora es una réplica exacta de [email protected]
. Puede modificar esa declaración: reemplace la variable Type
con disc_only_copies
en la llamada al mnesia:add_table_copy/3
para copiar las tablas, pero asegúrese de que estén solo en el disco.
El mnesia documentation explica cómo usar las funciones que he mostrado aquí.
tal vez su respuesta conocida para esta pregunta http://stackoverflow.com/questions/3702201/remove-not-exist-already-node-from-mnesia-clusterscheme – vinnitu
Supongamos que no conoce la respuesta a esto de manera similar- pregunta relacionada? http://stackoverflow.com/questions/13398632/creating-mnesia-disk-copies-of-existing-ramtable – mezamorphic