Thread: Re: Postgres-R

Re: Postgres-R

From
leiyonghua
Date:
niranjan.k@nsn.com 写道:
> I wish to set up the Postgres-R environment, could you please let me know the steps for setting it up.
> Thanks.
>
>
>   
yeah, actually, i have not been successful to set up this, but let me 
give some information for you.
1. download the postgresql snapshot source code from here:
http://www.postgresql.org/ftp/snapshot/dev/
(this is a daily tarball)

2. Get the corresponding patch for postgres-r from:
http://www.postgres-r.org/downloads/

3. apply the patch for snapshot source, and configure like this:

./configure --enable-replication
make & make install

4. install the GCS ensemble, according the document : 
http://www.cs.technion.ac.il/dsl/projects/Ensemble/doc.html

5. start ensemble daemon and gossip if neccessary ( yes, make sure the 
two nodes can 'GCS' each other)

3. Assume that you have two nodes, start up postgresql and create a 
database 'db', and create a table 'tb' for testing which should be have 
a primary key for all nodes.

4. At the origin node, execute the command at psql console:
alter database db start replication in group gcs;
(which means the database 'db' is the origin and the group 'gcs' is the 
GCS group name)

5. At the subscriber node, execute the command:
alter database db accept replication from group gcs;


Hope information above would be helpful, and keep in touch.

leiyonghua


Re: Postgres-R

From
"K, Niranjan (NSN - IN/Bangalore)"
Date:
Thanks for the information.
For Step5 (starting ensemble daemon).- 
I set the multicast address to both nodes (Node 1& Node 2 eth0: 224.0.0.9/4)  before starting the ensemble. And started
theserver application mtalk in node 1 & node 2 and then client application in node 1 & node 2. But the count of members
('nmembers')show as 1. This is the output of the client program 'c_mtalk'. Seeing this, I'am assuming that the
applicationsare not merged.
 
Could you please let me know how did you proceed with the setup of ensemble?

regards,
Niranjan

-----Original Message-----
From: ext leiyonghua [mailto:leiyonghua@alibaba-inc.com] 
Sent: Monday, August 18, 2008 2:58 PM
To: K, Niranjan (NSN - IN/Bangalore); Markus Wanner; pgsql-hackers@postgresql.org
Subject: Re: Postgres-R

niranjan.k@nsn.com 写道:
> I wish to set up the Postgres-R environment, could you please let me know the steps for setting it up.
> Thanks.
>
>
>   
yeah, actually, i have not been successful to set up this, but let me give some information for you.
1. download the postgresql snapshot source code from here:
http://www.postgresql.org/ftp/snapshot/dev/
(this is a daily tarball)

2. Get the corresponding patch for postgres-r from:
http://www.postgres-r.org/downloads/

3. apply the patch for snapshot source, and configure like this:

./configure --enable-replication
make & make install

4. install the GCS ensemble, according the document : 
http://www.cs.technion.ac.il/dsl/projects/Ensemble/doc.html

5. start ensemble daemon and gossip if neccessary ( yes, make sure the two nodes can 'GCS' each other)

3. Assume that you have two nodes, start up postgresql and create a database 'db', and create a table 'tb' for testing
whichshould be have a primary key for all nodes.
 

4. At the origin node, execute the command at psql console:
alter database db start replication in group gcs; (which means the database 'db' is the origin and the group 'gcs' is
theGCS group name)
 

5. At the subscriber node, execute the command:
alter database db accept replication from group gcs;


Hope information above would be helpful, and keep in touch.

leiyonghua


Re: Postgres-R

From
leiyonghua
Date:
hi,
Assume that we have two node
node 0 , 192.168.0.2
node 1 , 192.168.0.3
1. add a host entry in /etc/hosts for hostname resolving.
2. add the host list in configuration 'ensemble.conf' for gossip service:
ENS_GOSSIP_HOSTS=node0:node1
3. set the envrionment variable ENS_CONFIG_FILE
export ENS_CONFIG_FILE=/xxx/xxx/ensemble.conf
4. start ensemble & gossip
5. try 'c_mtalk' and happy.

this is a simplest case for me, hehe!

leiyonghua



K, Niranjan (NSN - IN/Bangalore) 写道:
> Thanks for the information.
> For Step5 (starting ensemble daemon).- 
> I set the multicast address to both nodes (Node 1& Node 2 eth0: 224.0.0.9/4)  before starting the ensemble. And
startedthe server application mtalk in node 1 & node 2 and then client application in node 1 & node 2. But the count of
members('nmembers') show as 1. This is the output of the client program 'c_mtalk'. Seeing this, I'am assuming that the
applicationsare not merged.
 
> Could you please let me know how did you proceed with the setup of ensemble?
>
> regards,
> Niranjan
>
> -----Original Message-----
> From: ext leiyonghua [mailto:leiyonghua@alibaba-inc.com] 
> Sent: Monday, August 18, 2008 2:58 PM
> To: K, Niranjan (NSN - IN/Bangalore); Markus Wanner; pgsql-hackers@postgresql.org
> Subject: Re: Postgres-R
>
> niranjan.k@nsn.com 写道:
>   
>> I wish to set up the Postgres-R environment, could you please let me know the steps for setting it up.
>> Thanks.
>>
>>
>>   
>>     
> yeah, actually, i have not been successful to set up this, but let me give some information for you.
> 1. download the postgresql snapshot source code from here:
> http://www.postgresql.org/ftp/snapshot/dev/
> (this is a daily tarball)
>
> 2. Get the corresponding patch for postgres-r from:
> http://www.postgres-r.org/downloads/
>
> 3. apply the patch for snapshot source, and configure like this:
>
> ./configure --enable-replication
> make & make install
>
> 4. install the GCS ensemble, according the document : 
> http://www.cs.technion.ac.il/dsl/projects/Ensemble/doc.html
>
> 5. start ensemble daemon and gossip if neccessary ( yes, make sure the two nodes can 'GCS' each other)
>
> 3. Assume that you have two nodes, start up postgresql and create a database 'db', and create a table 'tb' for
testingwhich should be have a primary key for all nodes.
 
>
> 4. At the origin node, execute the command at psql console:
> alter database db start replication in group gcs; (which means the database 'db' is the origin and the group 'gcs' is
theGCS group name)
 
>
> 5. At the subscriber node, execute the command:
> alter database db accept replication from group gcs;
>
>
> Hope information above would be helpful, and keep in touch.
>
> leiyonghua
>
>
>   



Re: Postgres-R

From
"K, Niranjan (NSN - IN/Bangalore)"
Date:
Unfortunately, I'am getting the error as below when I start the gossip. I had followed the same steps as you
mentioned.

REFLECT:I'm not in the list of gossip hosts, exiting (the hosts are [cluster_1|cluster_2])

cluster_1 & cluster_2 are node names & are the in /etc/hosts.

Did you face this?

regards,
Niranjan

-----Original Message-----
From: ext leiyonghua [mailto:leiyonghua@alibaba-inc.com] 
Sent: Tuesday, August 19, 2008 6:42 AM
To: K, Niranjan (NSN - IN/Bangalore)
Cc: Markus Wanner; pgsql-hackers@postgresql.org
Subject: Re: Postgres-R

hi,
Assume that we have two node
node 0 , 192.168.0.2
node 1 , 192.168.0.3
1. add a host entry in /etc/hosts for hostname resolving.
2. add the host list in configuration 'ensemble.conf' for gossip service:
ENS_GOSSIP_HOSTS=node0:node1
3. set the envrionment variable ENS_CONFIG_FILE export ENS_CONFIG_FILE=/xxx/xxx/ensemble.conf
4. start ensemble & gossip
5. try 'c_mtalk' and happy.

this is a simplest case for me, hehe!

leiyonghua



K, Niranjan (NSN - IN/Bangalore) 写道:
> Thanks for the information.
> For Step5 (starting ensemble daemon).- I set the multicast address to 
> both nodes (Node 1& Node 2 eth0: 224.0.0.9/4)  before starting the ensemble. And started the server application mtalk
innode 1 & node 2 and then client application in node 1 & node 2. But the count of members ('nmembers') show as 1. This
isthe output of the client program 'c_mtalk'. Seeing this, I'am assuming that the applications are not merged.
 
> Could you please let me know how did you proceed with the setup of ensemble?
>
> regards,
> Niranjan
>
> -----Original Message-----
> From: ext leiyonghua [mailto:leiyonghua@alibaba-inc.com]
> Sent: Monday, August 18, 2008 2:58 PM
> To: K, Niranjan (NSN - IN/Bangalore); Markus Wanner; 
> pgsql-hackers@postgresql.org
> Subject: Re: Postgres-R
>
> niranjan.k@nsn.com 写道:
>   
>> I wish to set up the Postgres-R environment, could you please let me know the steps for setting it up.
>> Thanks.
>>
>>
>>   
>>     
> yeah, actually, i have not been successful to set up this, but let me give some information for you.
> 1. download the postgresql snapshot source code from here:
> http://www.postgresql.org/ftp/snapshot/dev/
> (this is a daily tarball)
>
> 2. Get the corresponding patch for postgres-r from:
> http://www.postgres-r.org/downloads/
>
> 3. apply the patch for snapshot source, and configure like this:
>
> ./configure --enable-replication
> make & make install
>
> 4. install the GCS ensemble, according the document : 
> http://www.cs.technion.ac.il/dsl/projects/Ensemble/doc.html
>
> 5. start ensemble daemon and gossip if neccessary ( yes, make sure the 
> two nodes can 'GCS' each other)
>
> 3. Assume that you have two nodes, start up postgresql and create a database 'db', and create a table 'tb' for
testingwhich should be have a primary key for all nodes.
 
>
> 4. At the origin node, execute the command at psql console:
> alter database db start replication in group gcs; (which means the 
> database 'db' is the origin and the group 'gcs' is the GCS group name)
>
> 5. At the subscriber node, execute the command:
> alter database db accept replication from group gcs;
>
>
> Hope information above would be helpful, and keep in touch.
>
> leiyonghua
>
>
>   



Re: Postgres-R

From
Markus Wanner
Date:
Hi,

leiyonghua wrote:
> ./configure --enable-replication
> make & make install

You certainly also want --enable-debug and --enable-cassert, maybe also 
additional flags for the C compiler, like -DRMGR_DEBUG, please check the 
source code for these.

> 4. install the GCS ensemble, according the document : 
> http://www.cs.technion.ac.il/dsl/projects/Ensemble/doc.html
> 
> 5. start ensemble daemon and gossip if neccessary ( yes, make sure the 
> two nodes can 'GCS' each other)

Yeah, either use the gossip process, or make sure IP multicast works for 
your network configuration. I admit that ensemble is quite a beast WRT 
compilation and configuration.

> 3. Assume that you have two nodes, start up postgresql and create a 
> database 'db', and create a table 'tb' for testing which should be have 
> a primary key for all nodes.
> 
> 4. At the origin node, execute the command at psql console:
> alter database db start replication in group gcs;
> (which means the database 'db' is the origin and the group 'gcs' is the 
> GCS group name)
> 
> 5. At the subscriber node, execute the command:
> alter database db accept replication from group gcs;

As recovery doesn't work automatically, you still need to sync the 
complete database from the node which initiated the replication group. 
Then accept replication.

I'm working on automatic recovery.

Regards

Markus Wanner



Re: Postgres-R

From
Markus Wanner
Date:
Hi,

K, Niranjan (NSN - IN/Bangalore) wrote:
> Thanks for the information.
> For Step5 (starting ensemble daemon).- 
> I set the multicast address to both nodes (Node 1& Node 2 eth0: 224.0.0.9/4)  before starting the ensemble. And
startedthe server application mtalk in node 1 & node 2 and then client application in node 1 & node 2. But the count of
members('nmembers') show as 1. This is the output of the client program 'c_mtalk'. Seeing this, I'am assuming that the
applicationsare not merged.
 

This sounds like IP multicast does not work properly for your network
(is IP multicast available and enabled for your OS? Maybe you are
running on virtual hosts with a virtual network, which doesn't support
multicasting?). You can either try to fix that or switch to using a
gossip process.

Regards

Markus Wanner