tem um script la pra gerar as confs....

joaocosme.wordpress.com

João Cosme de Oliveira Júnior



"Lembre-se que da conduta de cada um depende o destino de todos."

Seja inteligente, use Software livre!!!
LPI Certified
LPI000185554


Em 18/05/2010 às 17:19 horas, [email protected] escreveu:
Valeu novamente pela ajuda.
Fiz o que você me informou, esta alteração errada, corrigir, porem o mesmo não replicou.
Segui este script abaixo que você postou, este mesmo e rodando no servidor que esta o banco, então adaptei para os IPs e nomes e o quando vou rodar o mesmo da esta mensagem abaixo:
<stdin>:7: ERROR: syntax error at or near cluster

Valeu novamente.

> Bom... analisando um pouquinho melhor achei outra coisa errada;
>
> "node 3 admin conninfo = 'dbname=$DB2
> host=$H2 user=$U password=$SENHA port=5573';"
>
> Repare que vc colocou como host "H2" ao invés de "H3".
>
> Para dar certo o que vc quer fz, tudo o que for feito para o primeiro slave deverá ser
> feito igualmente para os outros conforme suas características próprias.
>
> Tenho um exemplo aqui e me guio sempre por ele. Dá uma olhada:
>
> $SLONIK <<_EOF_
>         #
> ----------------------------------------------------------------------------------------
>         #
Define o nome do cluster de replicação
>
>         cluster name = $CLUSTERNAME;
>
>         #
> ----------------------------------------------------------------------------------------
>         # As configurações "admin conninfo" são usadas pelo slonik para conectar aos
> nodos
>
>         node 1 admin conninfo = 'dbname=$MASTERDBNAME user=$REPLICATIONUSER
> password=$PASSWORD host=$MASTERHOST';
>         node 2 admin conninfo = 'dbname=$SLAVEDBNAME user=$REPLICATIONUSER
> password=$PASSWORD host=$SLAVEHOST1';
>         node 3 admin conninfo = 'dbname=$SLAVEDBNAME user=$REPLICATIONUSER
> password=$PASSWORD host=$SLAVEHOST2';
>
>         #
> ----------------------------------------------------------------------------------------
>         # Inicia o primeiro nodo, o qual deve ser "1". Isso cria o schema _$CLUSTERNAME
> contendo todos os objetos específicos
>         # do sistema de replicação
>
>         init cluster ( id=1, comment = 'Nodo Master');
>
>         #
> ----------------------------------------------------------------------------------------
>         # O Slony-I organiza tabelas dentro de conjuntos.
>
>         # CREATE SET
>
>         # ID = ival -> ID do conjunto (set) a ser criado
>         # ORIGIN = ival -> Nodo de origem inicial do conjunto
>        
>         create set (id=1, origin=1, comment='Todas as tabelas');
>
>         # SET ADD TABLE
>
>         # SET ID = ival -> ID do nodo em que a tabela será adicionada
>         # ORIGIN = ival -> Nó de origem para este conjunto.
>         # ID = ival -> ID único da tabela.
>         # FULLY QUALIFIED NAME = 'string' -> esquema.tabela
>
>         set add table (set id=1, origin=1, id=1, fully qualified name = 'public.tb_1',
> comment='tabela 1');
>         set add table (set id=1, origin=1, id=2, fully qualified name = 'public.tb_2',
> comment='tabela 2');
>         set add table (set id=1, origin=1, id=3, fully qualified name = 'public.tb_3',
> comment='tabela 3');
>         set add table (set id=1, origin=1, id=4, fully qualified name = 'public.tb_4',
> comment='tabela 4');
>        
>         #
> ----------------------------------------------------------------------------------------
>         # Criação do segundo nodo (slave1) diz aos dois nodos como se conectar ao outro
> e como eles devem ouvir para eventos
>
>         # STORE NODE
>
>         # ID = ival -> O único, imutável ID numérico do novo nodo. O ID é imutável por
> ser usado como base para comunicação
>         # entre os nodos.
>         # COMMENT = 'description' -> Um texto descritivo adicionado à entrada do nodo na
> tabela sl_node
>         # EVENT NODE = ival -> O ID do nodo usado para criar a configuração de evento
> que notifica a todos os nodo existentes
>         # sobre o novo nodo.
>
>         store node (id=2, comment = 'Nodo slave 1', event node=1);
>
>         # STORE PATH
>
>         # SERVER = ival -> ID do nodo de banco de dados para conectar.
>         # CLIENT = ival -> ID do nodo do daemon de replicação se
> conectar.                     
>         # CONNINFO = string -> PQconnectdb() argumento para estabelecer a conexão.
>         # CONNRETRY = ival -> Número em segundos para aguardar outra tentativa para
> conectar é feita em caso servidor
>         # indisponível. Padrão é 10.   
>
>         store path (server = 1, client = 2, conninfo='dbname=$MASTERDBNAME
> user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST');
>         store path (server = 2, client = 1, conninfo='dbname=$SLAVEDBNAME
> user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST1');
>        
>         # Criação do terceiro nodo (slave2)
>         store node (id=3, comment = 'Nodo slave 2', event node=1);
>         store path (server = 1, client = 3, conninfo='dbname=$MASTERDBNAME
> user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST');
>         store path (server = 3, client = 1, conninfo='dbname=$SLAVEDBNAME
> user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST2');
>        
> _EOF_
>
>
>
>
> --- Em seg, 17/5/10, [email protected] <[email protected]> escreveu:
>
>
De: [email protected] <[email protected]>
> Assunto: [pgbr-geral] Slony com 3 Slaves
> Para: [email protected]
> Data: Segunda-feira, 17 de Maio de 2010, 17:17
>
> Olá a todos!
> Talvez possa me ajudar.
> Consegui fazer o slony replicar
> master para um slave, porem quando eu fui tentar replicar de um master para varios
> slaves o terceiro nodo não recebe a replicação.
> Abaixo segue a
> conf do arquivo que comunica com o cluster.
>
> #!/bin/sh
> CLUSTER=sief
> #DEFINA AQUI O NOME DO SEU CLUSTER
> DB1=sief #NOME DO BANCO DE DADOS DO
> COMPUTADOR1
> DB2=sief #NOME DO BANCO DE DADOS DO COMPUTADOR2
> DB3=sief #NOME DO
> BANCO DE DADOS DO COMPUTADOR3
> H1=192.168.1.254 #HOSTNAME (NOME DA MAQUINA), DO
> COMPUTADOR1
> H2=192.168.1.29 #HOSTNAME DO SEGUNDO COMPUTADOR
> H3=192.168.10.10  #HOSTNAME DO SEGUNDO COMPUTADOR
> U=postgres #USUARIO PARA A
> REPLICAÇÃO, PADRÃO: POSTGRES
> SENHA=SENHA
> slonik
> <<_EOF_
> cluster name = $CLUSTER;
> node 1 admin conninfo = 'dbname=$DB2
> host=$H1 user=$U password=$SENHA port=5573';
> node 2 admin conninfo = 'dbname=$DB2
> host=$H2 user=$U password=$SENHA port=5573';
> node 3 admin conninfo = 'dbname=$DB2
> host=$H2 user=$U password=$SENHA port=5573';
>
> init cluster (id = 1, comment 'Cluster Master');
>
> #especifica o set de replicacao
> create set (id = 1,
> origin = 1, comment = 'objetos replicados');
>
> #tabelas que seram replicadas
> set add table(set id=1,origin=1,id=10,full qualified name='public.adm_enroll');
>
> #no escravo e caminho que ele fara, especificar event node !
> store node (id
> = 3, event node= 1,comment = 'Slave');
> store path (server = 1, client = 2,conninfo
> = 'dbname=$DB1 host=$H1 port=5573 user=$U password=$SENHA');
> store path (server 2, client = 1,conninfo = 'dbname=$DB2 host=$H2 port=5573 user=$U
> password=$SENHA');
> store path (server = 3, client = 1,conninfo = 'dbname=$DB3 host=$H3 port=5573 user=$U
> password=$SENHA');
>
>
> store listen (origin = 1, provider = 1, receiver 2);
> store listen (origin = 2, provider = 2, receiver = 1);
> store listen
> (origin = 3, provider = 2, receiver = 1);
> Este script eu rodo no servidor, ja nos 2
> cliente eu rodo este script de sicronizar abaixo:
> #!/bin/sh
> CLUSTERNAME=sief
> MASTERDBNAME=sief
> SLAVEDBNAME=sief
> REPLICATIONUSER=postgres
> SENHA=SENHA
> MASTERHOST=192.168.1.254
> SLAVEHOST=192.168.1.29
> slonik <<_EOF_
>         # ----
>         # This defines which namespace the
> replication system uses
>         # ----
>         cluster name = $CLUSTERNAME;
>         # ----
>         # Admin conninfo's are used by the slonik
> program to connect
>         # to the node
> databases. So these are the PQconnectdb arguments
>         # that connect from the administrators
> workstation (where
>         # slonik is
> executed).
>         # ----
>         node 1 admin conninfo 'dbname=$MASTERDBNAME host=$MASTERHOST port=5573
> user=$REPLICATIONUSER
> password=$SENHA';
>         node 2 admin conninfo
> = 'dbname=$SLAVEDBNAME host=$SLAVEHOST port 5573 user=$REPLICATIONUSER
> password=$SENHA';
>         # ----
>         # Node 2 subscribes set 1
>         # ----
>         subscribe set ( id = 1, provider = 1,
> receiver = 2, forward = no);
> _EOF_
>
> Segundo slave:
> #!/bin/sh
> CLUSTERNAME=sief
> MASTERDBNAME=sief
> SLAVEDBNAME=sief
> REPLICATIONUSER=postgres
> SENHA=SENHA
> MASTERHOST=192.168.1.254
> SLAVEHOST=192.168.10.10
> slonik <<_EOF_
>         # ----
>         # This defines which namespace the
> replication system uses
>         # ----
>         cluster name = $CLUSTERNAME;
>         # ----
>         # Admin conninfo's are used by the slonik
> program to connect
>         # to the node
> databases. So these are the PQconnectdb arguments
>         # that connect from the administrators
> workstation (where
>         # slonik is
> executed).
>         # ----
>         node 1 admin conninfo 'dbname=$MASTERDBNAME host=$MASTERHOST port=5573
> user=$REPLICATIONUSER
> password=$SENHA';
>         node 2 admin conninfo
> = 'dbname=$SLAVEDBNAME host=$SLAVEHOST port 5573 user=$REPLICATIONUSER
> password=$SENHA';
>         # ----
>         # Node 2 subscribes set 1
>         # ----
>         subscribe set ( id = 1, provider = 1,
> receiver = 2, forward = no);
> _EOF_
> Alguem sabe o que pode ser? lembrando que
> se eu retirar o 3 nodo replica 100%.
> -----Anexo incorporado-----
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


"Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."

"This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure."
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a