Skip site navigation (1) Skip section navigation (2)

Fallo en pruebas con Slony

From: Luis D(dot) García <ldgarc(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Fallo en pruebas con Slony
Date: 2008-04-28 14:34:46
Message-ID: 3de424340804280734m7753ff47s8e2b7a5a0927145a@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola, saludos a todos los listeros.

Desde hace varios días he intentado crear un cluster de prueba con Slony-I
1.2.13 para una BD en PostgreSQL 8.3.1 bajo dos PCs, una en Ubuntu y otra en
Kubuntu, ambas en la versión 7.10, pero no he tenido resultados favorables.
Sigo los pasos que he observado en distintos manuales, pero no consigo la
replicación.

Me he basado en estos dos documentos...

http://slony.info/documentation/firstdb.html
http://www.linuxjournal.com/article/7834

Lo único que he hecho distinto con respecto a estas ayudas, es que en vez de
probar en un solo servidor, lo pruebo con dos máquinas de la red de mi casa.
He seguido cada uno de los distintos pasos, y a pesar de que no consigo
error alguno al ejecutarlos, la replicación no la obtengo.

Tengo 2 scripts, uno para la configuración y otro para la suscripción.

*slonik_config.sh*

#!/bin/sh

slonik <<_EOF_

    #Definir el nombre del namespace que usará el cluster de replicación
    cluster name = $CLUSTERNAME;

    #Información de conexiones entre los nodos
    node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST
user=$REPLICATIONUSER';
    node 2 admin conninfo = 'dbname=$SLAVEDBNAME host=$SLAVEHOST
user=$REPLICATIONUSER';

    #Inicialización del primer nodo
    init cluster ( id=10, comment='Master Node' );

    #Definición de los conjuntos de tablas
    create set (id=1, origin=1, comment='Tablas a replicar');
    set add table (set id=10, origin=1, id=1, fully qualified
name='public.test_a', comment='test_a');
    set add table (set id=10, origin=1, id=2, fully qualified
name='public.test_b', comment='test_b');

    #Definición del nodo esclavo
    store node (id=2, comment='Nodo esclavo');
    store path (server=1, client=2, conninfo = 'dbname=$MASTERDBNAME
host=$MASTERHOST user=$REPLICATIONUSER');
    store path (server=2, client=1, conninfo = 'dbname=$SLAVEDBNAME
host=$SLAVEHOST user=$REPLICATIONUSER');

    store listen (origin=1, provider=1, receiver=2);
    store listen (origin=2, provider=2, receiver=1);
_EOF_


*slonik_subscribe.sh
*
#!/bin/sh

slonik <<_EOF_

        #Definir el nombre del namespace que usará el cluster de replicación
        cluster name = $CLUSTERNAME;

        #Información de conexiones entre los nodos
        node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST
user=$REPLICATIONUSER';
        node 2 admin conninfo = 'dbname=$SLAVEDBNAME host=$SLAVEHOST
user=$REPLICATIONUSER';

        subscribe set (id=1, provider=1, receiver=2, forward=no);
_EOF_


Con respecto a ellos tengo dos dudas:

1. Al correrlos así:  *shell# sh script_slony.sh *siempre me sale este error
"<stdin>:3: ERROR: syntax error at or near ;" así que lo que hago es copiar
su contenido y los coloco directamente en el shell, donde corre sin
problemas. ¿Puede tener eso algo que ver?

2. Al hacer los pasos no sé si ambos deben ejecutarse en las dos máquinas o
de qué manera debe hacerse, ya que en los dos tutoriales que revisé no
especifican muy bien esto ya que todo corre en una sola máquina.

Bueno, el hecho es que corro ambos scripts en ambas máquinas, corro el
demonio *slon* en cada una de ellas así...

En el Host1: slon $CLUSTERNAME "dbname=$MASTERDBNAME user=$REPLICATIONUSER
host=$MASTERHOST"

En el Host2: slon $CLUSTERNAME "dbname=$SLAVEDBNAME user=$REPLICATIONUSER
host=$SLAVEHOST"

Tengo incluso todas las variables de entorno definidas:

CLUSTERNAME=clusterdb
MASTERDBNAME=slony
SLAVEDBNAME=slony
MASTERHOST=111.11.111.11
SLAVEHOST=000.00.0.00
REPLICATIONUSER=usuario

Y nada que me funciona la replicación.

Traté de levantar este servicio con los manuales que conseguí en la web
antes de pedir ayuda aquí en la lista, pero de verdad que no se me ocurre
más nada, y si se me hace complicado levantar la replicación con estas dos
máquinas y una BD sencilla de 2 tablas, no quisiera imaginar que tan difícil
será con una gran cantidad de datos.

Gracias de antemano por sus respuestas.

-- 
Luis D. García M.

Telf: (+58) 2418662663
Cel.: (+58) 4143482018

Responses

pgsql-es-ayuda by date

Next:From: Carlos Alberto Márquez ReyDate: 2008-04-28 15:58:10
Subject: Dudas sobre Almacenamiento de imagenes en PostgreSQL
Previous:From: MIGUEL CANCHASDate: 2008-04-28 14:09:15
Subject: RE: ALGO MUY RARO !!!!!!!!!!!!

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group