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