关于 Postgres-XL 中的协调器和数据节点
About coordinator and datanode in Postgres-XL
感谢您的帮助。
我未能构建 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)
然后我像这样配置数据节点:
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
我的配置有什么问题?
谢谢大家
你需要像这样定义数据节点。
./psql -c "CREATE NODE datanode1 WITH (TYPE = 'datanode', PORT = 7777)" postgres -p 3456 -h 127.0.0.1
我在一年后回答这个问题。但是,我建议您按照 Postgres XL 开发人员自己的建议使用 pgxc_ctl 命令行工具。它将使您远离手动配置集群的繁重任务。
这个可以参考Postgres XL的官方文档。成功安装pgxc_ctl命令行工具后,输入
prepare config minimal
为了生成配置集群的基本配置文件。相应地编辑 pgxc_ctl/pgxc_ctl.conf 中的更改。输入exit
,如果你的配置没问题,最后你可以初始化所有的集群。为此,输入
pgxc_ctl init all
感谢您的帮助。 我未能构建 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)
然后我像这样配置数据节点:
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
我的配置有什么问题? 谢谢大家
你需要像这样定义数据节点。
./psql -c "CREATE NODE datanode1 WITH (TYPE = 'datanode', PORT = 7777)" postgres -p 3456 -h 127.0.0.1
我在一年后回答这个问题。但是,我建议您按照 Postgres XL 开发人员自己的建议使用 pgxc_ctl 命令行工具。它将使您远离手动配置集群的繁重任务。
这个可以参考Postgres XL的官方文档。成功安装pgxc_ctl命令行工具后,输入
prepare config minimal
为了生成配置集群的基本配置文件。相应地编辑 pgxc_ctl/pgxc_ctl.conf 中的更改。输入exit
,如果你的配置没问题,最后你可以初始化所有的集群。为此,输入
pgxc_ctl init all