Database-Postgresql-Centos 7安装xl集群
三节点,使用环境centos7
使用root账号开始进行以下操作
目前安装的xl兼容版本为postgresql10版本。
基础配置
第一步:配置主机名
修改/etc/hosts
第二步:关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
第三步:关闭selinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
setenforce = 0
第四步:基础依赖包安装
yum install -y flex bison readline-devel zlib-devel openjade docbook-style-dsssl git gcc
第五步:重启使其之前配置生效
reboot
第六步: 创建postgres用户
useradd postgres
passwd postgres
第七步:设置ssh免密
这里注意要每个节点均创建.ssh目录和其权限设置,免密的公钥私钥可以不进行创建
su - postgres
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第八步:将gtm节点的ssh免密文件复制到datanode存储节点
scp ~/.ssh/authorized_keys postgres@datanode1:~/.ssh/
scp ~/.ssh/authorized_keys postgres@datanode2:~/.ssh/
第九步:开始安装postgresql-xl
su root
cd /opt
git clone git://git.postgresql.org/git/postgres-xl.git
cd postgres-xl/
./configure --prefix=/home/postgres/pgxl/
make
make install
cd contrib
make
make install
第十步:配置基础环境变量
su - postgres
vim .bashrc
文件最后增加以下内容:
export PGHOME=/home/postgres/pgxl
export LD_LIBRARY_PATH=
P
G
H
O
M
E
/
l
i
b
:
PGHOME/lib:
PGHOME/lib:LD_LIBRARY_PATH
export PATH=
P
G
H
O
M
E
/
b
i
n
:
PGHOME/bin:
PGHOME/bin:PATH
第十一步:使环境变量生效并测试是否配置成功
source .bashrc
echo $PGHOME
mkdir pgxc
mkdir pgxc_bak
基础环境安装完成,以下步骤为集群配置,集群发起从GTM所在服务器进行执行即可
集群配置
第一步:在postgres用户根目录下生成pgxc_ctl配置文件,创建集群文件存放目录和备份目录
pgxc_ctl
PGXC prepare
PGXG exit
第二步:修改生成的配置文件
第三步:执行初始化
pgxc_ctl -c /home/postgres/pgxc_ctl/pgxc_ctl.conf init all
第四步:启动集群
默认初始化完成后已经启动了集群了,平常进行开启关闭使用以下语句
pgxc_ctl -c /home/postgres/pgxc_ctl/pgxc_ctl.conf start all
pgxc_ctl -c /home/postgres/pgxc_ctl/pgxc_ctl.conf stop all
第五步:进入psql
psql -p 20004
进入其他远程节点
psql -h datanode2 -p 20008 -U postgres
查询集群状态
select * from pgxc_node;
postgres=# select * from pgxc_node;
node_name | node_type | node_port | node_host | nodeis_primary | nodeis_preferred
| node_id
-----------±----------±----------±----------±---------------±----------------
-±-----------
datanode1 | D | 20008 | datanode1 | t | f
| 888802358
datanode2 | D | 20008 | datanode2 | f | f
| -905831925
coord1 | C | 20004 | gtm | f | f
| 1885696643
(3 rows)
查看节点是否运行:
[postgres@gtm ~]$ pgxc_ctl monitor all
/bin/bash
Installing pgxc_ctl_bash script as /home/postgres/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /home/postgres/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /home/postgres/pgxc_ctl/pgxc_ctl_bash --home /home/postgres/pgxc_ctl --configuration /home/postgres/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.
******** PGXC_CTL START ***************
Current directory: /home/postgres/pgxc_ctl
Running: gtm master
Running: gtm proxy gtm_pxy1
Running: gtm proxy gtm_pxy2
Running: coordinator master coord1
Running: datanode master datanode1
Running: datanode master datanode2