pgxl 系列之五: ubuntu 16.04 使用 pgxc_ctl 安装

os: ubuntu 16.04
postgres-xl: 10alpha3

ip 规划:

gtm 192.168.56.99 gtm
gtms 192.168.56.100 gtm slave

node1 192.168.56.101 gtm-proxy,coordinator,datanode
node2 192.168.56.102 gtm-proxy,coordinator,datanode
node3 192.168.56.103 gtm-proxy,coordinator,datanode
node4 192.168.56.104 gtm-proxy,coordinator,datanode

在这里插入图片描述

os 操作

所有节点创建postgres用户

# groupadd -g 10000 postgres
# useradd -u 10000 -g postgres -s /bin/bash -d /home/postgres -m postgres
# passwd postgres 

# vi /etc/environment
PATH="/usr/pgxl-10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

# vi /home/postgres/.bashrc
export PGUSER=postgres
export PGHOME=/usr/pgxl-10
export PGXC_CTL_HOME=/var/lib/pgxl/10/pgxc_ctl

export LD_LIBRARY_PATH=$PGHOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export PATH=$PGHOME/bin:$PATH

export TEMP=/tmp
export TMPDIR=/tmp

export PS1="\[\e[32;1m\][\u@\h \W]$>\[\e[0m\]"

所有节点配置 postgres 用户 ssh 信任,过程略。

所有节点安装依赖包

# apt-get install cmake gcc libreadline5 libreadline6 libreadline6-dev readline-common libreadline-dev \
python python-dev libldap-2.4-2 libldap2-dev libxslt1.1 libxslt1-dev \
xml2 libxml2 libxml2-dev libxml2-utils libpam0g libpam0g-dev \
bison flex perl libperl-dev zlib1g zlib1g-dev openssl libssl-dev \
libpam-cracklib libpam-modules libpam-modules-bin

gtm、gtms节点创建相关目录

# mkdir -p /usr/pgxl-10
# mkdir -p /var/lib/pgxl/10
# chown -R postgres:postgres /usr/pgxl-10
# chown -R postgres:postgres /var/lib/pgxl
# su - postgres
$ cd /var/lib/pgxl/10/
$ mkdir {gtm,pgxc_ctl}

node1 ~ node4 节点创建相关目录

# mkdir -p /usr/pgxl-10
# mkdir -p /var/lib/pgxl/10
# chown -R postgres:postgres /usr/pgxl-10
# chown -R postgres:postgres /var/lib/pgxl
# su - postgres
$ cd /var/lib/pgxl/10/
$ mkdir {gtm_proxy,coord,coord_slave,coord_archlog,dn,dn_slave,dn_archlog}

编译、安装

所有节点都需要操作

# su - postgres
$ git clone git://git.postgresql.org/git/postgres-xl.git
$ cd postgres-xl
$ ./configure --prefix=/usr/pgxl-10 --with-perl --with-python --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt
$ make 
$ make check
$ make install

$ cd contrib
$ make 
$ make install

配置 pgxc_ctl

生成 pgxc_ctl.conf

gtm 节点操作

$ which pgxc_ctl
/usr/pgxl-10/bin/pgxc_ctl

$ pgxc_ctl prepare
/bin/bash
Installing pgxc_ctl_bash script as /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl_bash.
ERROR: File "/var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf" not found or not a regular file. No such file or directory
Installing pgxc_ctl_bash script as /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl_bash --home /var/lib/pgxl/10/pgxc_ctl --configuration /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.
   ******** PGXC_CTL START ***************

Current directory: /var/lib/pgxl/10/pgxc_ctl

$ ls -l /var/lib/pgxl/10/pgxc_ctl
total 24
-rw-rw-r-- 1 postgres postgres   246 Oct 24 14:20 coordExtraConfig
-rw-rw-r-- 1 postgres postgres 17815 Oct 24 14:20 pgxc_ctl.conf

修改 pgxc_ctl.conf

gtm 节点操作,参考如下配置

$ vi /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf

#!/usr/bin/env bash

pgxcInstallDir=/usr/pgxl-10

#---- OVERALL  
pgxcOwner=postgres
pgxcUser=$pgxcOwner
tmpDir=/tmp
localTmpDir=$tmpDir

configBackup=y
configBackupHost=gtms
configBackupDir=/var/lib/pgxl/10/pgxc_ctl
configBackupFile=pgxc_ctl.conf.bak

#---- GTM
#---- GTM Master
#---- Overall
gtmName=gtm
gtmMasterServer=gtm
gtmMasterPort=20001
gtmMasterDir=/var/lib/pgxl/10/gtm
#---- Configuration
gtmExtraConfig=none
gtmMasterSpecificExtraConfig=none

#---- GTM Slave
#---- Overall
gtmSlave=y
gtmSlaveName=gtms
gtmSlaveServer=gtms
gtmSlavePort=20001
gtmSlaveDir=/var/lib/pgxl/10/gtm
#---- Configuration
gtmSlaveSpecificExtraConfig=none

#---- GTM Proxy
#---- Shortcuts
gtmProxyDir=/var/lib/pgxl/10/gtm_proxy
#---- Overall
gtmProxy=y
gtmProxyNames=(gtm_proxy1 gtm_proxy2 gtm_proxy3 gtm_proxy4)
gtmProxyServers=(node1 node2 node3 node4)
gtmProxyPorts=(20001 20001 20001 20001)
gtmProxyDirs=($gtmProxyDir $gtmProxyDir $gtmProxyDir $gtmProxyDir)
#---- Configuration
gtmPxyExtraConfig=none
gtmPxySpecificExtraConfig=(none none none none)

#---- Coordinators
#---- shortcuts
coordMasterDir=/var/lib/pgxl/10/coord
coordSlaveDir=/var/lib/pgxl/10/coord_slave
coordArchLogDir=/var/lib/pgxl/10/coord_archlog
#---- Overall
coordNames=(coord1 coord2 coord3 coord4)
coordPorts=(20004 20005 20004 20005)
poolerPorts=(20010 20011 20010 20011)
coordPgHbaEntries=(192.168.0.0/24)

#---- Master -------------
coordMasterServers=(node1 node2 node3 node4)
coordMasterDirs=($coordMasterDir $coordMasterDir $coordMasterDir $coordMasterDir)
coordMaxWALsernder=10
coordMaxWALSenders=($coordMaxWALsernder $coordMaxWALsernder $coordMaxWALsernder $coordMaxWALsernder)
#---- Slave -------------
coordSlave=y
coordSlaveSync=y
coordSlaveServers=(node2 node1 node4 node3) 
coordSlavePorts=(20004 20005 20004 20005)           # Master ports
coordSlavePoolerPorts=(20010 20011 20010 20011)         # Master pooler ports
coordSlaveDirs=($coordSlaveDir $coordSlaveDir $coordSlaveDir $coordSlaveDir)
coordArchLogDirs=($coordArchLogDir $coordArchLogDir $coordArchLogDir $coordArchLogDir)
#---- Configuration files
coordExtraConfig=coordExtraConfig
cat > $coordExtraConfig <<EOF
#================================================
# Added to all the coordinator postgresql.conf
# Original: $coordExtraConfig
log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d.log'
listen_addresses = '*'
max_connections = 100
EOF

coordSpecificExtraConfig=(none none none none)
coordExtraPgHba=none
coordSpecificExtraPgHba=(none none none none)


#---- Datanodes
#---- Shortcuts
datanodeMasterDir=/var/lib/pgxl/10/dn
datanodeSlaveDir=/var/lib/pgxl/10/dn_slave
datanodeArchLogDir=/var/lib/pgxl/10/dn_archlog
#---- Overall
primaryDatanode=node1
datanodeNames=(node1 node2 node3 node4)
datanodePorts=(20008 20009 20008 20009) 
datanodePoolerPorts=(20012 20013 20012 20013)
datanodePgHbaEntries=(192.168.0.0/24)
#---- Master
datanodeMasterServers=(node1 node2 node3 node4)     
datanodeMasterDirs=($datanodeMasterDir $datanodeMasterDir $datanodeMasterDir $datanodeMasterDir)
datanodeMaxWalSender=10
datanodeMaxWALSenders=($datanodeMaxWalSender $datanodeMaxWalSender $datanodeMaxWalSender $datanodeMaxWalSender)
#---- Slave
datanodeSlave=y
datanodeSlaveServers=(node2 node1 node4 node3)
datanodeSlavePorts=(20008 20009 20008 20009)
datanodeSlavePoolerPorts=(20012 20013 20012 20013)
datanodeSlaveSync=y 
datanodeSlaveDirs=($datanodeSlaveDir $datanodeSlaveDir $datanodeSlaveDir $datanodeSlaveDir)
datanodeArchLogDirs=($datanodeArchLogDir $datanodeArchLogDir $datanodeArchLogDir $datanodeArchLogDir)
# ---- Configuration files
datanodeExtraConfig=none
datanodeSpecificExtraConfig=(none none none none)
datanodeExtraPgHba=none
datanodeSpecificExtraPgHba=(none none none none)
#----- Additional Slaves
datanodeAdditionalSlaves=n
#---- WAL archives
walArchive=y

操作 pgxc_ctl

gtm 节点上初始化集群

$ /usr/pgxl-10/bin/pgxc_ctl -v -c /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf init all

启动集群

$ /usr/pgxl-10/bin/pgxc_ctl -c /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf start all 

关闭集群

$ /usr/pgxl-10/bin/pgxc_ctl -c /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf stop all 

参考:
https://www.postgres-xl.org/documentation/
https://www.postgres-xl.org/documentation/runtime.html
https://www.postgres-xl.org/documentation/runtime-config.html
https://www.postgres-xl.org/documentation/pgxc-ctl.html
https://gist.github.com/ewiger/a71689db37fec5c93a9920621f52b2cf

https://sourceforge.net/p/postgres-xl/tickets/74/
https://sourceforge.net/p/postgres-xl/tickets/77/

https://www.postgres-xl.org/
https://www.postgres-xl.org/overview/
https://www.postgres-xl.org/download/

https://git.postgresql.org/gitweb/?p=postgres-xl.git;a=summary

https://www.2ndquadrant.com/en/resources/postgres-xl/

https://www.postgresql.org/download

configure、make、make check、make install 的一些输出

configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating src/Makefile.global
config.status: creating src/include/pg_config.h
config.status: creating src/include/pg_config_ext.h
config.status: creating src/interfaces/ecpg/include/ecpg_config.h
config.status: linking src/backend/port/tas/dummy.s to src/backend/port/tas.s
config.status: linking src/backend/port/dynloader/linux.c to src/backend/port/dynloader.c
config.status: linking src/backend/port/posix_sema.c to src/backend/port/pg_sema.c
config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c
config.status: linking src/backend/port/dynloader/linux.h to src/include/dynloader.h
config.status: linking src/include/port/linux.h to src/include/pg_config_os.h
config.status: linking src/makefiles/Makefile.linux to src/Makefile.port

make[2]: Leaving directory '/home/postgres/postgres-xl/src/test/regress'
make -C test/perl all
make[2]: Entering directory '/home/postgres/postgres-xl/src/test/perl'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/postgres/postgres-xl/src/test/perl'
make[1]: Leaving directory '/home/postgres/postgres-xl/src'

more /home/postgres/postgres-xl/src/test/regress/regression.out

下面是 pgxc_ctl -v -c /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf init all 的输出日志,记录一下


/bin/bash
Installing pgxc_ctl_bash script as /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl_bash --home /var/lib/pgxl/10/pgxc_ctl --configuration /var/lib/pgxl/10/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.
   ******** PGXC_CTL START ***************

Current directory: /var/lib/pgxl/10/pgxc_ctl
Initialize GTM master
The files belonging to this GTM system will be owned by user "postgres".
This user must also own the server process.


fixing permissions on existing directory /var/lib/pgxl/10/gtm ... ok
creating configuration files ... ok
creating control file ... ok

Success.
waiting for server to shut down.... done
server stopped
Done.
Start GTM master
server starting
Initialize GTM slave
The files belonging to this GTM system will be owned by user "postgres".
This user must also own the server process.


fixing permissions on existing directory /var/lib/pgxl/10/gtm ... ok
creating configuration files ... ok
creating control file ... ok

Success.
Done.
Start GTM slaveserver starting
Done.
Initialize all the gtm proxies.
Initializing gtm proxy gtm_proxy1.
Initializing gtm proxy gtm_proxy2.
Initializing gtm proxy gtm_proxy3.
Initializing gtm proxy gtm_proxy4.
The files belonging to this GTM system will be owned by user "postgres".
This user must also own the server process.


fixing permissions on existing directory /var/lib/pgxl/10/gtm_proxy ... ok
creating configuration files ... ok

Success.
The files belonging to this GTM system will be owned by user "postgres".
This user must also own the server process.


fixing permissions on existing directory /var/lib/pgxl/10/gtm_proxy ... ok
creating configuration files ... ok

Success.
The files belonging to this GTM system will be owned by user "postgres".
This user must also own the server process.


fixing permissions on existing directory /var/lib/pgxl/10/gtm_proxy ... ok
creating configuration files ... ok

Success.
The files belonging to this GTM system will be owned by user "postgres".
This user must also own the server process.


fixing permissions on existing directory /var/lib/pgxl/10/gtm_proxy ... ok
creating configuration files ... ok

Success.
Done.
Starting all the gtm proxies.
Starting gtm proxy gtm_proxy1.
Starting gtm proxy gtm_proxy2.
Starting gtm proxy gtm_proxy3.
Starting gtm proxy gtm_proxy4.
server starting
server starting
server starting
server starting
Done.
Initialize all the coordinator masters.
Initialize coordinator master coord1.
Initialize coordinator master coord2.
Initialize coordinator master coord3.
Initialize coordinator master coord4.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/coord ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/coord ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/coord ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/coord ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
Done.
Starting coordinator master.
Starting coordinator master coord1
Starting coordinator master coord2
Starting coordinator master coord3
Starting coordinator master coord4
2018-10-24 17:46:57.601 CST [18287] LOG:  listening on IPv4 address "0.0.0.0", port 20004
2018-10-24 17:46:57.601 CST [18287] LOG:  listening on IPv6 address "::", port 20004
2018-10-24 17:46:57.605 CST [18287] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20004"
2018-10-24 17:46:57.619 CST [18287] LOG:  redirecting log output to logging collector process
2018-10-24 17:46:57.619 CST [18287] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:46:57.610 CST [27731] LOG:  listening on IPv4 address "0.0.0.0", port 20005
2018-10-24 17:46:57.610 CST [27731] LOG:  listening on IPv6 address "::", port 20005
2018-10-24 17:46:57.614 CST [27731] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20005"
2018-10-24 17:46:57.628 CST [27731] LOG:  redirecting log output to logging collector process
2018-10-24 17:46:57.628 CST [27731] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:46:57.472 CST [28347] LOG:  listening on IPv4 address "0.0.0.0", port 20004
2018-10-24 17:46:57.472 CST [28347] LOG:  listening on IPv6 address "::", port 20004
2018-10-24 17:46:57.475 CST [28347] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20004"
2018-10-24 17:46:57.499 CST [28347] LOG:  redirecting log output to logging collector process
2018-10-24 17:46:57.499 CST [28347] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:46:57.460 CST [27555] LOG:  listening on IPv4 address "0.0.0.0", port 20005
2018-10-24 17:46:57.460 CST [27555] LOG:  listening on IPv6 address "::", port 20005
2018-10-24 17:46:57.473 CST [27555] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20005"
2018-10-24 17:46:57.486 CST [27555] LOG:  redirecting log output to logging collector process
2018-10-24 17:46:57.486 CST [27555] HINT:  Future log output will appear in directory "pg_log".
Done.
Initialize all the coordinator slaves.
Initialize the coordinator slave coord1.
Initialize the coordinator slave coord2.
Initialize the coordinator slave coord3.
Initialize the coordinator slave coord4.
Done.
Starting all the coordinator slaves.
Starting coordinator slave coord1.
Starting coordinator slave coord2.
Starting coordinator slave coord3.
Starting coordinator slave coord4.
2018-10-24 17:47:12.649 CST [28653] LOG:  listening on IPv4 address "0.0.0.0", port 20004
2018-10-24 17:47:12.649 CST [28653] LOG:  listening on IPv6 address "::", port 20004
2018-10-24 17:47:12.653 CST [28653] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20004"
2018-10-24 17:47:12.665 CST [28653] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:12.665 CST [28653] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:12.543 CST [19219] LOG:  listening on IPv4 address "0.0.0.0", port 20005
2018-10-24 17:47:12.543 CST [19219] LOG:  listening on IPv6 address "::", port 20005
2018-10-24 17:47:12.546 CST [19219] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20005"
2018-10-24 17:47:12.555 CST [19219] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:12.555 CST [19219] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:12.596 CST [28477] LOG:  listening on IPv4 address "0.0.0.0", port 20004
2018-10-24 17:47:12.596 CST [28477] LOG:  listening on IPv6 address "::", port 20004
2018-10-24 17:47:12.600 CST [28477] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20004"
2018-10-24 17:47:12.612 CST [28477] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:12.612 CST [28477] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:12.566 CST [29259] LOG:  listening on IPv4 address "0.0.0.0", port 20005
2018-10-24 17:47:12.566 CST [29259] LOG:  listening on IPv6 address "::", port 20005
2018-10-24 17:47:12.570 CST [29259] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20005"
2018-10-24 17:47:12.579 CST [29259] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:12.579 CST [29259] HINT:  Future log output will appear in directory "pg_log".
Done
Initialize all the datanode masters.
Initialize the datanode master node1.
Initialize the datanode master node2.
Initialize the datanode master node3.
Initialize the datanode master node4.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/dn ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/dn ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/dn ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/pgxl/10/dn ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... creating cluster information ... ok
syncing data to disk ... ok
freezing database template0 ... ok
freezing database template1 ... ok
freezing database postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success.
Done.
Starting all the datanode masters.
Starting datanode master node1.
Starting datanode master node2.
Starting datanode master node3.
Starting datanode master node4.
2018-10-24 17:47:34.536 CST [20445] LOG:  listening on IPv4 address "0.0.0.0", port 20008
2018-10-24 17:47:34.536 CST [20445] LOG:  listening on IPv6 address "::", port 20008
2018-10-24 17:47:34.539 CST [20445] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20008"
2018-10-24 17:47:34.552 CST [20445] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:34.552 CST [20445] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:34.488 CST [29880] LOG:  listening on IPv4 address "0.0.0.0", port 20009
2018-10-24 17:47:34.488 CST [29880] LOG:  listening on IPv6 address "::", port 20009
2018-10-24 17:47:34.491 CST [29880] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20009"
2018-10-24 17:47:34.501 CST [29880] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:34.501 CST [29880] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:34.483 CST [30506] LOG:  listening on IPv4 address "0.0.0.0", port 20008
2018-10-24 17:47:34.483 CST [30506] LOG:  listening on IPv6 address "::", port 20008
2018-10-24 17:47:34.487 CST [30506] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20008"
2018-10-24 17:47:34.497 CST [30506] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:34.497 CST [30506] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:34.524 CST [29703] LOG:  listening on IPv4 address "0.0.0.0", port 20009
2018-10-24 17:47:34.524 CST [29703] LOG:  listening on IPv6 address "::", port 20009
2018-10-24 17:47:34.528 CST [29703] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20009"
2018-10-24 17:47:34.542 CST [29703] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:34.542 CST [29703] HINT:  Future log output will appear in directory "pg_log".
Done.
Initialize all the datanode slaves.
Initialize datanode slave node1
Initialize datanode slave node2
Initialize datanode slave node3
Initialize datanode slave node4
Starting all the datanode slaves.
Starting datanode slave node1.
Starting datanode slave node2.
Starting datanode slave node3.
Starting datanode slave node4.
2018-10-24 17:47:50.014 CST [30788] LOG:  listening on IPv4 address "0.0.0.0", port 20008
2018-10-24 17:47:50.014 CST [30788] LOG:  listening on IPv6 address "::", port 20008
2018-10-24 17:47:50.017 CST [30788] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20008"
2018-10-24 17:47:50.028 CST [30788] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:50.028 CST [30788] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:50.016 CST [31413] LOG:  listening on IPv4 address "0.0.0.0", port 20009
2018-10-24 17:47:50.016 CST [31413] LOG:  listening on IPv6 address "::", port 20009
2018-10-24 17:47:50.020 CST [31413] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20009"
2018-10-24 17:47:50.036 CST [31413] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:50.036 CST [31413] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:49.929 CST [30610] LOG:  listening on IPv4 address "0.0.0.0", port 20008
2018-10-24 17:47:49.929 CST [30610] LOG:  listening on IPv6 address "::", port 20008
2018-10-24 17:47:49.932 CST [30610] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20008"
2018-10-24 17:47:49.942 CST [30610] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:49.942 CST [30610] HINT:  Future log output will appear in directory "pg_log".
2018-10-24 17:47:50.182 CST [21352] LOG:  listening on IPv4 address "0.0.0.0", port 20009
2018-10-24 17:47:50.182 CST [21352] LOG:  listening on IPv6 address "::", port 20009
2018-10-24 17:47:50.187 CST [21352] LOG:  listening on Unix socket "/tmp/.s.PGSQL.20009"
2018-10-24 17:47:50.198 CST [21352] LOG:  redirecting log output to logging collector process
2018-10-24 17:47:50.198 CST [21352] HINT:  Future log output will appear in directory "pg_log".
Done.
ALTER NODE coord1 WITH (HOST='node1', PORT=20004);
ALTER NODE
CREATE NODE coord2 WITH (TYPE='coordinator', HOST='node2', PORT=20005);
CREATE NODE
CREATE NODE coord3 WITH (TYPE='coordinator', HOST='node3', PORT=20004);
CREATE NODE
CREATE NODE coord4 WITH (TYPE='coordinator', HOST='node4', PORT=20005);
CREATE NODE
CREATE NODE node1 WITH (TYPE='datanode', HOST='node1', PORT=20008, PRIMARY, PREFERRED);
CREATE NODE
CREATE NODE node2 WITH (TYPE='datanode', HOST='node2', PORT=20009);
CREATE NODE
CREATE NODE node3 WITH (TYPE='datanode', HOST='node3', PORT=20008);
CREATE NODE
CREATE NODE node4 WITH (TYPE='datanode', HOST='node4', PORT=20009);
CREATE NODE
SELECT pgxc_pool_reload();
 pgxc_pool_reload 
------------------
 t
(1 row)

CREATE NODE coord1 WITH (TYPE='coordinator', HOST='node1', PORT=20004);
CREATE NODE
ALTER NODE coord2 WITH (HOST='node2', PORT=20005);
ALTER NODE
CREATE NODE coord3 WITH (TYPE='coordinator', HOST='node3', PORT=20004);
CREATE NODE
CREATE NODE coord4 WITH (TYPE='coordinator', HOST='node4', PORT=20005);
CREATE NODE
CREATE NODE node1 WITH (TYPE='datanode', HOST='node1', PORT=20008, PRIMARY);
CREATE NODE
CREATE NODE node2 WITH (TYPE='datanode', HOST='node2', PORT=20009, PREFERRED);
CREATE NODE
CREATE NODE node3 WITH (TYPE='datanode', HOST='node3', PORT=20008);
CREATE NODE
CREATE NODE node4 WITH (TYPE='datanode', HOST='node4', PORT=20009);
CREATE NODE
SELECT pgxc_pool_reload();
 pgxc_pool_reload 
------------------
 t
(1 row)

CREATE NODE coord1 WITH (TYPE='coordinator', HOST='node1', PORT=20004);
CREATE NODE
CREATE NODE coord2 WITH (TYPE='coordinator', HOST='node2', PORT=20005);
CREATE NODE
ALTER NODE coord3 WITH (HOST='node3', PORT=20004);
ALTER NODE
CREATE NODE coord4 WITH (TYPE='coordinator', HOST='node4', PORT=20005);
CREATE NODE
CREATE NODE node1 WITH (TYPE='datanode', HOST='node1', PORT=20008, PRIMARY);
CREATE NODE
CREATE NODE node2 WITH (TYPE='datanode', HOST='node2', PORT=20009);
CREATE NODE
CREATE NODE node3 WITH (TYPE='datanode', HOST='node3', PORT=20008, PREFERRED);
CREATE NODE
CREATE NODE node4 WITH (TYPE='datanode', HOST='node4', PORT=20009);
CREATE NODE
SELECT pgxc_pool_reload();
 pgxc_pool_reload 
------------------
 t
(1 row)

CREATE NODE coord1 WITH (TYPE='coordinator', HOST='node1', PORT=20004);
CREATE NODE
CREATE NODE coord2 WITH (TYPE='coordinator', HOST='node2', PORT=20005);
CREATE NODE
CREATE NODE coord3 WITH (TYPE='coordinator', HOST='node3', PORT=20004);
CREATE NODE
ALTER NODE coord4 WITH (HOST='node4', PORT=20005);
ALTER NODE
CREATE NODE node1 WITH (TYPE='datanode', HOST='node1', PORT=20008, PRIMARY);
CREATE NODE
CREATE NODE node2 WITH (TYPE='datanode', HOST='node2', PORT=20009);
CREATE NODE
CREATE NODE node3 WITH (TYPE='datanode', HOST='node3', PORT=20008);
CREATE NODE
CREATE NODE node4 WITH (TYPE='datanode', HOST='node4', PORT=20009, PREFERRED);
CREATE NODE
SELECT pgxc_pool_reload();
 pgxc_pool_reload 
------------------
 t
(1 row)

Done.
EXECUTE DIRECT ON (node1) 'CREATE NODE coord1 WITH (TYPE=''coordinator'', HOST=''node1'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'CREATE NODE coord2 WITH (TYPE=''coordinator'', HOST=''node2'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'CREATE NODE coord3 WITH (TYPE=''coordinator'', HOST=''node3'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'CREATE NODE coord4 WITH (TYPE=''coordinator'', HOST=''node4'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'ALTER NODE node1 WITH (TYPE=''datanode'', HOST=''node1'', PORT=20008, PRIMARY, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'CREATE NODE node2 WITH (TYPE=''datanode'', HOST=''node2'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'CREATE NODE node3 WITH (TYPE=''datanode'', HOST=''node3'', PORT=20008, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'CREATE NODE node4 WITH (TYPE=''datanode'', HOST=''node4'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node1) 'SELECT pgxc_pool_reload()';
 pgxc_pool_reload 
------------------
 t
(1 row)

EXECUTE DIRECT ON (node2) 'CREATE NODE coord1 WITH (TYPE=''coordinator'', HOST=''node1'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'CREATE NODE coord2 WITH (TYPE=''coordinator'', HOST=''node2'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'CREATE NODE coord3 WITH (TYPE=''coordinator'', HOST=''node3'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'CREATE NODE coord4 WITH (TYPE=''coordinator'', HOST=''node4'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'CREATE NODE node1 WITH (TYPE=''datanode'', HOST=''node1'', PORT=20008, PRIMARY, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'ALTER NODE node2 WITH (TYPE=''datanode'', HOST=''node2'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'CREATE NODE node3 WITH (TYPE=''datanode'', HOST=''node3'', PORT=20008, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'CREATE NODE node4 WITH (TYPE=''datanode'', HOST=''node4'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node2) 'SELECT pgxc_pool_reload()';
 pgxc_pool_reload 
------------------
 t
(1 row)

EXECUTE DIRECT ON (node3) 'CREATE NODE coord1 WITH (TYPE=''coordinator'', HOST=''node1'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'CREATE NODE coord2 WITH (TYPE=''coordinator'', HOST=''node2'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'CREATE NODE coord3 WITH (TYPE=''coordinator'', HOST=''node3'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'CREATE NODE coord4 WITH (TYPE=''coordinator'', HOST=''node4'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'CREATE NODE node1 WITH (TYPE=''datanode'', HOST=''node1'', PORT=20008, PRIMARY, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'CREATE NODE node2 WITH (TYPE=''datanode'', HOST=''node2'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'ALTER NODE node3 WITH (TYPE=''datanode'', HOST=''node3'', PORT=20008, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'CREATE NODE node4 WITH (TYPE=''datanode'', HOST=''node4'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node3) 'SELECT pgxc_pool_reload()';
 pgxc_pool_reload 
------------------
 t
(1 row)

EXECUTE DIRECT ON (node4) 'CREATE NODE coord1 WITH (TYPE=''coordinator'', HOST=''node1'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'CREATE NODE coord2 WITH (TYPE=''coordinator'', HOST=''node2'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'CREATE NODE coord3 WITH (TYPE=''coordinator'', HOST=''node3'', PORT=20004)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'CREATE NODE coord4 WITH (TYPE=''coordinator'', HOST=''node4'', PORT=20005)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'CREATE NODE node1 WITH (TYPE=''datanode'', HOST=''node1'', PORT=20008, PRIMARY, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'CREATE NODE node2 WITH (TYPE=''datanode'', HOST=''node2'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'CREATE NODE node3 WITH (TYPE=''datanode'', HOST=''node3'', PORT=20008, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'ALTER NODE node4 WITH (TYPE=''datanode'', HOST=''node4'', PORT=20009, PREFERRED)';
EXECUTE DIRECT
EXECUTE DIRECT ON (node4) 'SELECT pgxc_pool_reload()';
 pgxc_pool_reload 
------------------
 t
(1 row)

Done.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值