Re: Postgres-R

Started by leiyonghuaover 17 years ago6 messages
#1leiyonghua
leiyonghua@alibaba-inc.com

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

In reply to: leiyonghua (#1)

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 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 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 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

#3leiyonghua
leiyonghua@alibaba-inc.com
In reply to: K, Niranjan (NSN - IN/Bangalore) (#2)

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) 写道:

Show quoted text

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 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 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 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

In reply to: leiyonghua (#3)

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) 写道:

Show quoted text

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 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 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 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

#5Markus Wanner
markus@bluegap.ch
In reply to: leiyonghua (#1)

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

#6Markus Wanner
markus@bluegap.ch
In reply to: K, Niranjan (NSN - IN/Bangalore) (#2)

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 started the 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 applications are 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