|
From: Phil S. <phi...@ne...> - 2012-04-16 14:35:10
|
Michel,
Thanks very much for your speedy reply.
After reading your email, I realized I had forgotten to set the
listen_addresses parameter to '*' on the coordinators and datanodes. I
shut down the whole postgres-xc environment, updated the postgresql.conf
files on the coordinators and datanodes and fired everything back up
without issue, using the -o "-i" option for the coordinator/datanodes
startup.
After doing all this, I am still getting connection issues with datanode
0 when trying to create a database on coordinator1.
I provided the output of the pgxc_node table as I am thinking maybe
there are problems with the entries in this table?
Any other suggestions you may have with this issue would be greatly
appreciated.
Phil
Here are the details:
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
shutdown gtm, coord1/data1, coord2/data2
----------------------------------------
updated postgresql.conf on dbhost1 for both coord1 and data1:
------------------------------------------------------------
- listen_addresses = '*'
updated postgresql.conf on dbhost2 for both coord2 and data2:
------------------------------------------------------------
- listen_addresses = '*'
started coordinator and datanodes on each db host adding the -o "-i" as
per your recommendation:
-----------------------------------------------------------------------------------------------
dbhost1:
pg_ctl start -D /home/postgres/datanode/data -l
/home/postgres/datanode/log/datanode1.log -o "-i -p 15432" -Z datanode
pg_ctl start -D /home/postgres/coordinator/data -l
/home/postgres/coordinator/log/coordinator1.log -o "-i" -Z coordinator
dbhost2:
pg_ctl start -D /home/postgres/datanode/data -l
/home/postgres/datanode/log/datanode2.log -o "-i -p 15432" -Z datanode
pg_ctl start -D /home/postgres/coordinator/data -l
/home/postgres/coordinator/log/coordinator2.log -o "-i" -Z coordinator
checked to make sure postgres was running on dbhost1:
-----------------------------------------------------
$ ps -ef | grep postgres
root 1005 587 0 10:22 ? 00:00:00 sshd: postgres [priv]
1058 1083 1005 0 10:22 ? 00:00:01 sshd: postgres@pts/0
1058 1222 1 0 10:47 pts/0 00:00:00
/home/postgres/db_home/bin/postgres -X -D /home/postgres/datanode/data
-i -p 15432
1058 1224 1222 0 10:47 ? 00:00:00 postgres: writer process
1058 1225 1222 0 10:47 ? 00:00:00 postgres: wal writer process
1058 1226 1222 0 10:47 ? 00:00:00 postgres: autovacuum
launcher process
1058 1227 1222 0 10:47 ? 00:00:00 postgres: stats
collector process
1058 1234 1 0 10:48 pts/0 00:00:00
/home/postgres/db_home/bin/postgres -C -D /home/postgres/coordinator/data -i
1058 1236 1234 0 10:48 ? 00:00:00 postgres: pooler process
1058 1237 1234 0 10:48 ? 00:00:00 postgres: writer process
1058 1238 1234 0 10:48 ? 00:00:00 postgres: wal writer process
1058 1239 1234 0 10:48 ? 00:00:00 postgres: autovacuum
launcher process
1058 1240 1234 0 10:48 ? 00:00:00 postgres: stats
collector process
1058 1401 1084 0 10:53 pts/0 00:00:00 grep --color=auto postgres
psql onto dbhost1 coord1 and ran 'create database TEST';
------------------------------------------------------
psql -U postgres -d postgres
Password for user postgresql:
psql (9.1.2)
Type "help" for help.
postgres=# create database TEST;
ERROR: Failed to get pooled connections
coord1 log output:
-----------------
LOG: database system was shut down at 2012-04-16 11:00:24 ADT
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
LOG: failed to connect to data node
WARNING: can not connect to datanode 0
LOG: failed to acquire connections
STATEMENT: create database TEST;
ERROR: Failed to get pooled connections
STATEMENT: create database TEST;
psql output for pgxc_node (output is exactly same on both coord1 and
coord2):
----------------------------------------------------------------------------
postgres=# select * from pgxc_node;
node_name | node_type | node_port | node_host | nodeis_primary |
nodeis_preferred
-----------+-----------+-----------+----------------+----------------+------------------
coord2 | C | 5432 | 192.168.38.100 | f | f
data2 | D | 15432 | 192.168.38.100 | f | f
coord1 | C | 5432 | 192.168.38.101 | f | f
data1 | D | 15432 | 192.168.38.101 | f | f
(4 rows)
On 4/13/12 10:54 PM, Michael Paquier wrote:
> Hi,
>
> I had a look at your settings. Please see my comments in-line. It
> looks that your remote nodes are refusing connections as pooler cannot
> get a connection.
>
> - started the coordinator on each node without issue using the
> folowing command:
>
> pg_ctl start -D /home/postgres/coordinator/data -l
> /home/postgresql/coordinator/log/coordinator1.log -Z coordinator
> ---> log is coordinator2 on 2nd db host
>
> When starting a nodes that are on separate servers, you also need to
> use option "-i" or the node will only accept local connections.
> This option basically allows remote clients to connect with TCP-IP.
> So you startup option becomes:
> pg_ctl start -D /home/postgres/coordinator/data -l
> /home/postgresql/coordinator/log/coordinator1.log -Z coordinator -o "-i"
>
>
> - started the datanode on each node without issue using the
> folowing command:
>
> pg_ctl start -D /home/postgres/datanode/data -l
> /home/postgresql/coordinator/log/datanode1.log -o "-p 15432" -Z
> datanode ---> log is datanode2 on 2nd db host
>
> Same here, you need to allow Datanode to accept remote TCP-IP connections.
> Even if you set up correctly pg_hba.conf, this is mandatory.
> pg_ctl start -D /home/postgres/datanode/data -l
> /home/postgresql/coordinator/log/datanode1.log -o "-i -p 15432" -Z
> datanode
>
> Please note that this is equivalent to setting listen_addresses to "*"
> on postgresql.conf of each node.
> Regards,
> --
> Michael Paquier
> http://michael.otacoo.com
|