客服微信
本文为云贝教育 刘峰 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
前言
环境说明
· 操作系统版本:CentOS Linux release 7.6.1810 (Core)
· pgxc版本:postgres-x2
· 安装用户:postgres
· 介质上传目录:/home/postgres/soft
安装规划
主机名 |
IP地址 |
角色 |
端口 |
Nodename |
数据目录 |
db1 |
192.168.2.103 |
GTM |
6666 |
gtm1 |
/home/postgres/gtm |
db2 |
192.168.2.104 |
GTM备节点 |
6677 |
gtm2 |
/home/postgres/gtm_standby |
db1 |
192.168.2.104 |
Coordinator |
6667 |
cn1 |
/home/postgres/coordinator |
Datanode |
6668 |
dn1 |
/home/postgres/pgdata |
||
Gtm Proxy |
6669 |
gtmproxy1 |
/home/postgres/gtm_proxy |
||
db2 |
192.168.2.103 |
Coordinator |
6667 |
cn2 |
/home/postgres/coordinator |
Datanode |
6668 |
dn2 |
/home/postgres/pgdata |
||
Gtm Proxy |
6669 |
gtmproxy2 |
/home/postgres/gtm_proxy |
测试环境上可以用两个节点来配置,生产环境建议主备节点不要放在同一个节点上。
什么是 Postgres-X2
· 不共享任何集群:多个协作的类似 PostgreSQL 的服务器,不共享资源,通过添加商用硬件进行扩展
· 编写可扩展的 PostgreSQL 集群:与纯 PostgreSQL (DBT-1) 相比,五台服务器的可扩展性性能加速超过 3 倍。截至 1.0 版本的结果。
· 同步多主机配置:任何主机的任何更新都可以立即从其他主机看到。
· 表位置透明:可以继续使用相同的应用程序。交易处理没有变化。
· 基于 PostgreSQL:与 PostgreSQL 相同的应用程序 API
组件介绍
GTTM
gtm 代表“全局事务管理器”,它提供以集成方式运行所有 Postgres-XC 组件所需的核心事务管理功能。协调器和数据节点连接到 GTM 以在不同的服务器上一致地运行事务。
gtm_proxy
这是协调器/数据节点到 GTM 的连接代理,以减少交互和数据量。
coordinator协调器
这是 Postgres-XC 应用程序的连接点。协调器接受来自应用程序的 SQL 语句,分析并确定数据的存储位置,并处理每个数据节点的 SQL 语句。您可以在 Postgres-XC 中配置任意多个协调器。
datanode数据节点
该节点存储用户数据,Datanode从协调器读取其本地SQL 语句并处理它们。
一、下载安装包
目前安装包已上传git开源,下载地址
上传到所有节点,建议目录为/home/postgres/soft
二、安装依赖包
三、安装
3.1 解压安装包(两个节点都执行)
3.2 编绎安装(两个节点都执行)
1)configure
2) make
3) make install
安装前用root配置目录
执行安装
四、环境配置
4.1 主机配置/etc/hosts
4.2 配置环境变量
配置/home/postgres/.bash_profile
五、初始化集群
5.1 初始化gtm
1) db1上执行
gtm初始化之后,参数文件是默认的,需要调整/home/postgres/gtm/gtm.conf
2) db2上执行
gtm初始化之后,参数文件是默认的,需要调整/home/postgres/gtm/gtm.conf
5.2 初始化cn和dn
1) db1上执行
初始化
修改cn1的参数
修改dn1的参数
2) db2上执行
修改cn2的参数
修改dn2的参数
3) 针对pg_hba,cn和dn统一配置
5.3 启动集群
启动顺序:
1)启动gtm
db1启动主gtm
主节点日志/home/postgres/gtm/gtm.log
db2启动备gtm
备节点日志/home/postgres/gtm/gtm.log
2)启动dn
db1启动dn1
db1日志
cat datanode1-2023-12-21.log
db2启动db2
db2日志
cat datanode2-2023-12-21.log
3)启动cn
db1启动cn1
查看cn1日志
cat coordinator1-2023-12-21.log
db2启动cn2
查看cn1日志
cat coordinator2-2023-12-21.log
六、配置集群
6.1 在cn1上注册节点
配置完成,加载配置信息
6.2 在cn2上注册节点
七、验证集群功能
7.1 验证建库建表
1)在cn1上创建数据库,切换到指定数据库,在指定数据库上创建表
2)在cn2上查看
7.2 验证表数据分布
1)登录dn1,查看表数据
2)登录dn2,查看表数据
3)也可以直接在CN上查询