1

谢谢你的帮助。我未能构建 Postgres-XL 集群。我的 gtm.confg :

listen_addresses = '0.0.0.0'
port = 6668

在 10.80.19.47。我的 gtm_proxy.confg:

listen_addresses = '0.0.0.0'
port = 6666
gtm_host = '10.80.19.47'
gtm_port = 6668

启动 gtm 和 gtm_proxy 后,我使用lsof -i显示网络信息:

gtm       11730 postgres    6u  IPv4 355914      0t0  TCP 10.80.19.47:ircu-4->10.80.19.46:44017 (ESTABLISHED
gtm       11730 postgres    7u  IPv4 355915      0t0  TCP 10.80.19.47:ircu-4->10.80.19.46:44018 (ESTABLISHED)
gtm       11730 postgres    8u  IPv4 355916      0t0  TCP 10.80.19.47:ircu-4->10.80.19.46:44019 (ESTABLISHED)

然后我像这样配置datanode:

listen_addresses = '0.0.0.0'
port = 5432
pooler_port = 20002
gtm_host = '127.0.0.1'
gtm_port = 6666 

和协调员,例如:

listen_addresses = '0.0.0.0'
port = 3456
pooler_port = 20003
gtm_host = '127.0.0.1'
gtm_port = 6666

其他是默认的,然后我启动datanode:

/usr/postgres-xl-9.2/bin/postgres --datanode -D /data1/pgsql/data &

启动协调器:

/usr/postgres-xl-9.2/bin/postgres --coordinator -D /data1/pgsql/coordinator &

当我连接到 Postgres-XL 时,使用协调器:

 psql -h 127.0.0.1 -p 3456 postgres;

当我想创建一个数据库时:

 create database test;

但失败了,它显示:

No Datanode defined in cluster
You need to define at least 1 Datanode with CREATE NODE.

然后我检查集群:

 psql -h 127.0.0.1 -p 3456  postgres  -c "select * from pgxc_node order by 1";

它只显示一个节点,例如:

node_name     | node_type | node_port | node_host | nodeis_primary | nodeis_preferred |  node_id  
-------------------+-----------+-----------+-----------+----------------+------------------+-----------
coordinator_node2 | C         |      5432 | localhost | f              | f                | 738118815

我连接到端口 5432它显示类似的信息,如:

 node_name  | node_type | node_port | node_host | nodeis_primary | nodeis_preferred |  node_id   
------------+-----------+-----------+-----------+----------------+------------------+------------
data_node2 | C         |      5432 | localhost | f              | f                | -923817565

我的配置有什么问题?谢谢大家。

4

2 回答 2

0

我在一年后回答这个问题。但是,我建议您使用 Postgres XL 开发人员自己建议的 pgxc_ctl 命令行工具。它将使您远离手动配置集群的繁重任务。

这个可以参考 Postgres XL 的官方文档。成功安装 pgxc_ctl 命令行工具后,输入

prepare config minimal

为了生成一个基本的配置文件来配置集群。相应地编辑您在 pgxc_ctl/pgxc_ctl.conf 中的更改。输入exit,最后如果你的配置没问题就可以初始化所有的集群了。为此,请输入

pgxc_ctl init all
于 2016-10-06T05:30:11.783 回答
0

你需要像这样定义datanode。

./psql -c "CREATE NODE datanode1 WITH (TYPE = 'datanode', PORT = 7777)" postgres -p 3456 -h 127.0.0.1
于 2015-08-12T04:42:39.723 回答