<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Datanode_HA_configuration</title><link>https://sourceforge.net/p/postgres-xc/xc-wiki/Datanode_HA_configuration/</link><description>Recent changes to Datanode_HA_configuration</description><atom:link href="https://sourceforge.net/p/postgres-xc/xc-wiki/Datanode_HA_configuration/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 27 Jun 2014 02:32:39 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/postgres-xc/xc-wiki/Datanode_HA_configuration/feed" rel="self" type="application/rss+xml"/><item><title>Datanode_HA_configuration modified by Koichi Suzuki</title><link>https://sourceforge.net/p/postgres-xc/xc-wiki/Datanode_HA_configuration/</link><description>&lt;div class="markdown_content"&gt;&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#draft"&gt;(Draft)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#overview-of-datanode-ha-configuration"&gt;Overview of Datanode HA configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#configuration-outline"&gt;Configuration Outline&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#slave-of-the-datanode-on-node01-datanode1"&gt;Slave of the Datanode on node01 (datanode1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#slave-of-the-datanode-on-node02-datanode2"&gt;Slave of the Datanode on node02 (datanode2)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#configure-datanode1s-slave"&gt;Configure datanode1's slave&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#obtain-base-backup-of-the-datanode1"&gt;Obtain base backup of the datanode1&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="#configure-datanode1-master-for-hot-standby"&gt;Configure datanode1 master for hot standby&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="draft"&gt;(Draft)&lt;/h2&gt;
&lt;h2 id="overview-of-datanode-ha-configuration"&gt;Overview of Datanode HA configuration&lt;/h2&gt;
&lt;p&gt;Because table rows can be distributed among multiple datanodes, they need to be configured with their backups. In this page, we use synchronous replication of PostgreSQL 9.1. Asynchronous replication has a chance to loose updates, which may lead to data inconsistency among the datanodes. &lt;/p&gt;
&lt;p&gt;Now, we start wil the situation where datanodes are running on node01 and node02. We configure each slave on node02 and node01 respectively and then kill one of the datanode and failover to its slave. &lt;/p&gt;
&lt;h2 id="configuration-outline"&gt;Configuration Outline&lt;/h2&gt;
&lt;p&gt;We configure datanode slaves as follows: &lt;/p&gt;
&lt;h3 id="slave-of-the-datanode-on-node01-datanode1"&gt;Slave of the Datanode on node01 (datanode1)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Slave runs on node02. &lt;/li&gt;
&lt;li&gt;Slave's working directory is /home/postgresxc/pgxc/datanode1_slave on node02. &lt;/li&gt;
&lt;li&gt;We need WAL archive transfered to node02's /home/postgresxc/pgxc/datanode1_arclog &lt;/li&gt;
&lt;li&gt;Slave will run in hot-standby mode. &lt;/li&gt;
&lt;li&gt;hot-standby will use the port 20010. &lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="slave-of-the-datanode-on-node02-datanode2"&gt;Slave of the Datanode on node02 (datanode2)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Slave runs on node01. &lt;/li&gt;
&lt;li&gt;Slave's working directory is /home/postgresxc/pgxc/datanode2_slave on node01. &lt;/li&gt;
&lt;li&gt;We need WAL archive transfered to node01's /home/postgresxc/pgxc/datanode2_arclog &lt;/li&gt;
&lt;li&gt;Slave will run in hot-standby mode. &lt;/li&gt;
&lt;li&gt;hot-standby will use the port 20010. &lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="configure-datanode1s-slave"&gt;Configure datanode1's slave&lt;/h2&gt;
&lt;h3 id="obtain-base-backup-of-the-datanode1"&gt;Obtain base backup of the datanode1&lt;/h3&gt;
&lt;h4 id="configure-datanode1-master-for-hot-standby"&gt;Configure datanode1 master for hot standby&lt;/h4&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;ssh&lt;/span&gt; &lt;span class="n"&gt;node01&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;node01&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;home&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;postgresxc&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;pgxc&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;datanode&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;postgresql&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;conf&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Koichi Suzuki</dc:creator><pubDate>Fri, 27 Jun 2014 02:32:39 -0000</pubDate><guid>https://sourceforge.net8246012401daa738da323d19510857671184a806</guid></item></channel></rss>