一、系统环境系统平台:centos6.5postgres-XC版本:pgxc-v1.2.1.tar.gz防火墙关闭selinux设置SELINUX=disabled主机名IP地址角色
一、系统环境
系统平台:centos 6.5
postgres-XC版本:pgxc-v1.2.1.tar.gz
防火墙关闭 selinux设置SELINUX=disabled
主机名
|
IP地址
|
角色
|
端口
|
nodename
|
数据目录
|
postgresql01
|
172.16.0.134
|
GTM
|
6666
|
gtm
|
/gtm
|
Coordinator
|
1921
|
coord1
|
/coordinator/cd1
|
Coordinator
|
1925
|
coord2
|
/coordinator/cd2
|
postgresql02
|
172.16.0.135
|
Datanode
|
15431
|
db1
|
/datanode/dn1
|
Datanode
|
15432
|
db2
|
/datanode/dn2
|
二、安装依赖包
yum install -y bison flex perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
三、创建用户(两台操作)
groupadd pgxc
useradd pgxc -g pgxc
passwd pgxc
四、源码安装(两台操作)
tar zxvf pgxc-v1.2.1.tar.gz
cd postgres-xc-1.2.1/
./configure --prefix=/opt/pgxc --with-perl --with-python
五、创建存放路径
在172.16.0.134主机操作如下:
[root@postgresql01 ~]# mkdir /gtm
[root@postgresql01 ~]# mkdir -p /coordinator/cd1
[root@postgresql01 ~]# mkdir -p /coordinator/cd2
[root@postgresql01 ~]# chown -R pgxc:pgxc /gtm
[root@postgresql01 ~]# chown -R pgxc:pgxc /coordinator
在172.16.0.135主机操作如下:
[root@postgresql02 ~]# mkdir -p /datanode/dn1
[root@postgresql02 ~]# mkdir -p /datanode/dn2
[root@postgresql02 ~]# chown -R pgxc:pgxc /datanode
六、配置环境变量
在172.16.0.134主机上
[pgxc@postgresql01 ~]$ vi .bash_profile
export PGPORT=1921
export PGDATA=/pgsql/data
export.utf8
export PGHOME=/opt/pgxc
export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
export DATE=`date +"%Y%m%d%H%M"`
export PATH=$PGHOME/bin:$PATH:.
export MANPATH=$PGHOME/share/man:$MANPATH
alias rm='rm -i'
alias ll='ls -lh'
[pgxc@postgresql01 ~]$ source .bash_profile
[pgxc@postgresql02 ~]$ vi .bash_profile
export PGPORT=15431
export PGDATA=/datanode/dn1
export.utf8
export PGHOME=/opt/pgxc
export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
export DATE=`date +"%Y%m%d%H%M"`
export PATH=$PGHOME/bin:$PATH:.
export MANPATH=$PGHOME/share/man:$MANPATH
alias rm='rm -i'
alias ll='ls -lh'
[pgxc@postgresql02 ~]$ source .bash_profile
七、初始化
1.在172.16.0.134操作如下:
[root@postgresql01 ~]# su - pgxc
[pgxc@postgresql01 ~]# initgtm -Z gtm -D /gtm
[pgxc@postgresql01 ~]# initdb -D /coordinator/cd1 --nodename coord1 -E UTF8 --locale=C -U pgxc -W
[pgxc@postgresql01 ~]# initdb -D /coordinator/cd2 --nodename coord2 -E UTF8 --locale=C -U pgxc -W
2.配置参数
配置gtm
[pgxc@postgresql01 ~]$ cd /gtm/
[pgxc@postgresql01 gtm]$ vi gtm.conf
nodename = 'gtm'
listen_addresses = '*'
port = 6666
startup = ACT
配置coordinator
[pgxc@postgresql01 ~]$ cd /coordinator/cd1/
[pgxc@postgresql01 cd1]$ vi postgresql.conf
# - Connection Settings -
listen_addresses = '*'
port = 1921
max_cOnnections= 100
# DATA NODES AND CONNECTION POOLING
#----------------------------------
pooler_port = 6667
min_pool_size = 1
max_pool_size = 100
# GTM CONNECTION
#--------------------------
gtm_host = '172.16.0.134'
gtm_port = 6666
pgxc_node_name = 'coord1'
[pgxc@postgresql01 cd1]$ vi pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 172.16.0.0/24 trust
host all all 0.0.0.0/0 md5
[pgxc@postgresql01 cd1]$ cd /coordinator/cd2/
[pgxc@postgresql01 cd2]$ vi postgresql.conf
# - Connection Settings -
listen_addresses = '*'
port = 1925
max_cOnnections= 100
# DATA NODES AND CONNECTION POOLING
#------------------------------------------
pooler_port = 6668
min_pool_size = 1
max_pool_size = 100
# GTM CONNECTION
#------------------------------------
gtm_host = '172.16.0.134'
gtm_port = 6666
pgxc_node_name = 'coord2'
[pgxc@postgresql01 cd2]$ vi pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 172.16.0.0/24 trust
host all all 0.0.0.0/0 md5
3.在172.16.0.135操作如下:
[root@postgresql02 ~]# su - pgxc
[pgxc@postgresql02 ~]$ initdb -D /datanode/dn1 --nodename db1 -E UTF8 --local=C -U pgxc -W
[pgxc@postgresql02 ~]$ initdb -D /datanode/dn2 --nodename db2 -E UTF8 --local=C -U pgxc -W
4.配置参数
[pgxc@postgresql02 ~]$ cd /datanode/dn1/
[pgxc@postgresql02 dn1]$ vi postgresql.conf
CONNECTIONS AND AUTHENTICATION
#------------------------------------
listen_addresses = '*'
port = 15431
max_cOnnections= 100
# DATA NODES AND CONNECTION POOLING
#----------------------------------------------
pooler_port = 6667
#min_pool_size = 1
max_pool_size = 100
# GTM CONNECTION
#-----------------------------
gtm_host = '172.16.0.134'
gtm_port = 6666
pgxc_node_name = 'db1'
[pgxc@postgresql02 dn1]$ vi pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 172.16.0.0/24 trust
host all all 0.0.0.0/0 md5
[pgxc@postgresql02 dn1]$ cd /datanode/dn2/
# - Connection Settings -
listen_addresses = '*'
port = 15432
max_cOnnections= 100
var cpro_id = "u6885494";