pgpool-II安装

wget https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgpool-II-10-4.0.3-1.rhel7.x86_64.rpm

wget https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgpool-II-10-devel-4.0.3-1.rhel7.x86_64.rpm

wget https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgpool-II-10-extensions-4.0.3-1.rhel7.x86_64.rpm

wget https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgpool-ha-3.0-1.rhel7.1.x86_64.rpm

wget https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgpoolAdmin-4.0.1-1.rhel7.noarch.rpm

rpm安装参考 http://www.pgpool.net/docs/latest/en/html/install-rpm.html

使用 root 权限的账户安装,否则 VIP 无法自动切换。如果不是root安装的,则需要配置 ssh 等一系列权限配置

rpm的 yum源  http://www.pgpool.net/yum.

依赖 libmemcached  故需先安装 libmemcached

[root@vlnx107001 pgpool-ii]# yum install libmemcached -y

[root@vlnx107001 pgpool-ii]# rpm -ivh pgpool-II-10-4.0.3-1.rhel7.x86_64.rpm pgpool-II-10-devel-4.0.3-1.rhel7.x86_64.rpm pgpool-II-10-extensions-4.0.3-1.rhel7.x86_64.rpm

 

安装  pgpool-ha。同样有依赖,故需要先安装依赖

[root@vlnx107001 pgpool-ii]# yum install resource-agents -y

[root@vlnx107001 pgpool-ii]# rpm -ivh pgpool-ha-3.0-1.rhel7.1.x86_64.rpm

安装后文件所在路径

 

所有的配置文件都位于:

/etc/pgpool-II-10/

 

开启防火墙

源码安装

wget http://www.pgpool.net/download.php?f=pgpool-II-4.0.4.tar.gz

 

[root@vlnx107002 pgpool-II-4.0.4]# yum install gcc-c++ -y

[root@vlnx107002 pgpool-II-4.0.4]# ./configure   #为了和第一台vlnx107001机器安装路径一样,这里就不指定安装路径(默认/usr/local)

[root@vlnx107002 pgpool-II-4.0.4]# make

[root@vlnx107002 pgpool-II-4.0.4]# make install

[root@vlnx107002 pgpool-II-4.0.4]#  make install

Making install in src

make[1]: Entering directory `/root/pgpool-II-4.0.4/src'

Making install in parser

make[2]: Entering directory `/root/pgpool-II-4.0.4/src/parser'

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/parser'

make[3]: Nothing to be done for `install-exec-am'.

make[3]: Nothing to be done for `install-data-am'.

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/parser'

make[2]: Leaving directory `/root/pgpool-II-4.0.4/src/parser'

Making install in libs

make[2]: Entering directory `/root/pgpool-II-4.0.4/src/libs'

Making install in pcp

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/libs/pcp'

make[4]: Entering directory `/root/pgpool-II-4.0.4/src/libs/pcp'

/bin/mkdir -p '/usr/local/lib'

/bin/sh ../../../libtool   --mode=install /bin/install -c   libpcp.la '/usr/local/lib'

libtool: install: /bin/install -c .libs/libpcp.so.1.0.0 /usr/local/lib/libpcp.so.1.0.0

libtool: install: (cd /usr/local/lib && { ln -s -f libpcp.so.1.0.0 libpcp.so.1 || { rm -f libpcp.so.1 && ln -s libpcp.so.1.0.0 libpcp.so.1; }; })

libtool: install: (cd /usr/local/lib && { ln -s -f libpcp.so.1.0.0 libpcp.so || { rm -f libpcp.so && ln -s libpcp.so.1.0.0 libpcp.so; }; })

libtool: install: /bin/install -c .libs/libpcp.lai /usr/local/lib/libpcp.la

libtool: install: /bin/install -c .libs/libpcp.a /usr/local/lib/libpcp.a

libtool: install: chmod 644 /usr/local/lib/libpcp.a

libtool: install: ranlib /usr/local/lib/libpcp.a

libtool: finish: PATH="/root/perl5/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/pgsql-9.6/bin:/usr/local/mongo/bin:/opt/puppetlabs/bin:/root/bin:/usr/pgsql-10/bin:/sbin" ldconfig -n /usr/local/lib

----------------------------------------------------------------------

Libraries have been installed in:

   /usr/local/lib

If you ever happen to want to link against installed libraries

in a given directory, LIBDIR, you must either use libtool, and

specify the full pathname of the library, or use the `-LLIBDIR'

flag during linking and do at least one of the following:

   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable

     during execution

   - add LIBDIR to the `LD_RUN_PATH' environment variable

     during linking

   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag

   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.

----------------------------------------------------------------------

/bin/mkdir -p '/usr/local/include'

/bin/install -c -m 644 ../../../src/include/pcp/pcp.h ../../../src/include/pcp/libpcp_ext.h ../../../src/include/pool_type.h ../../../src/include/utils/pool_process_reporting.h '/usr/local/include'

make[4]: Leaving directory `/root/pgpool-II-4.0.4/src/libs/pcp'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/libs/pcp'

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/libs'

make[4]: Entering directory `/root/pgpool-II-4.0.4/src/libs'

make[4]: Nothing to be done for `install-exec-am'.

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/root/pgpool-II-4.0.4/src/libs'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/libs'

make[2]: Leaving directory `/root/pgpool-II-4.0.4/src/libs'

Making install in watchdog

make[2]: Entering directory `/root/pgpool-II-4.0.4/src/watchdog'

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/watchdog'

make[3]: Nothing to be done for `install-exec-am'.

make[3]: Nothing to be done for `install-data-am'.

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/watchdog'

make[2]: Leaving directory `/root/pgpool-II-4.0.4/src/watchdog'

Making install in .

make[2]: Entering directory `/root/pgpool-II-4.0.4/src'

make[3]: Entering directory `/root/pgpool-II-4.0.4/src'

/bin/mkdir -p '/usr/local/bin'

  /bin/sh ../libtool   --mode=install /bin/install -c pgpool '/usr/local/bin'

libtool: install: /bin/install -c pgpool /usr/local/bin/pgpool

/bin/mkdir -p '/usr/local/etc'

/bin/install -c -m 644 sample/pgpool.conf.sample sample/pcp.conf.sample sample/pool_hba.conf.sample sample/pgpool.conf.sample-replication sample/pgpool.conf.sample-master-slave sample/pgpool.conf.sample-stream sample/pgpool.conf.sample-logical '/usr/local/etc'

/bin/mkdir -p '/usr/local/share/pgpool-II'

/bin/install -c -m 644 sql/insert_lock.sql sample/pgpool.pam '/usr/local/share/pgpool-II'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src'

make[2]: Leaving directory `/root/pgpool-II-4.0.4/src'

Making install in tools

make[2]: Entering directory `/root/pgpool-II-4.0.4/src/tools'

Making install in pcp

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pcp'

make[4]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pcp'

/bin/mkdir -p '/usr/local/bin'

  /bin/sh ../../../libtool   --mode=install /bin/install -c pcp_stop_pgpool pcp_node_count pcp_node_info pcp_proc_count pcp_proc_info pcp_detach_node pcp_attach_node pcp_recovery_node pcp_promote_node pcp_pool_status pcp_watchdog_info '/usr/local/bin'

libtool: install: /bin/install -c .libs/pcp_stop_pgpool /usr/local/bin/pcp_stop_pgpool

libtool: install: /bin/install -c .libs/pcp_node_count /usr/local/bin/pcp_node_count

libtool: install: /bin/install -c .libs/pcp_node_info /usr/local/bin/pcp_node_info

libtool: install: /bin/install -c .libs/pcp_proc_count /usr/local/bin/pcp_proc_count

libtool: install: /bin/install -c .libs/pcp_proc_info /usr/local/bin/pcp_proc_info

libtool: install: /bin/install -c .libs/pcp_detach_node /usr/local/bin/pcp_detach_node

libtool: install: /bin/install -c .libs/pcp_attach_node /usr/local/bin/pcp_attach_node

libtool: install: /bin/install -c .libs/pcp_recovery_node /usr/local/bin/pcp_recovery_node

libtool: install: /bin/install -c .libs/pcp_promote_node /usr/local/bin/pcp_promote_node

libtool: install: /bin/install -c .libs/pcp_pool_status /usr/local/bin/pcp_pool_status

libtool: install: /bin/install -c .libs/pcp_watchdog_info /usr/local/bin/pcp_watchdog_info

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pcp'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pcp'

Making install in pgmd5

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pgmd5'

make[4]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pgmd5'

/bin/mkdir -p '/usr/local/bin'

  /bin/sh ../../../libtool   --mode=install /bin/install -c pg_md5 '/usr/local/bin'

libtool: install: /bin/install -c pg_md5 /usr/local/bin/pg_md5

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pgmd5'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pgmd5'

Making install in pgenc

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pgenc'

make[4]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pgenc'

/bin/mkdir -p '/usr/local/bin'

  /bin/sh ../../../libtool   --mode=install /bin/install -c pg_enc '/usr/local/bin'

libtool: install: /bin/install -c pg_enc /usr/local/bin/pg_enc

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pgenc'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pgenc'

Making install in pgproto

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pgproto'

make[4]: Entering directory `/root/pgpool-II-4.0.4/src/tools/pgproto'

/bin/mkdir -p '/usr/local/bin'

  /bin/sh ../../../libtool   --mode=install /bin/install -c pgproto '/usr/local/bin'

libtool: install: /bin/install -c pgproto /usr/local/bin/pgproto

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pgproto'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/tools/pgproto'

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/tools'

make[4]: Entering directory `/root/pgpool-II-4.0.4/src/tools'

/bin/mkdir -p '/usr/local/bin'

/bin/install -c pgpool_setup watchdog_setup '/usr/local/bin'

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/root/pgpool-II-4.0.4/src/tools'

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/tools'

make[2]: Leaving directory `/root/pgpool-II-4.0.4/src/tools'

Making install in include

make[2]: Entering directory `/root/pgpool-II-4.0.4/src/include'

make[3]: Entering directory `/root/pgpool-II-4.0.4/src/include'

make[3]: Nothing to be done for `install-exec-am'.

make[3]: Nothing to be done for `install-data-am'.

make[3]: Leaving directory `/root/pgpool-II-4.0.4/src/include'

make[2]: Leaving directory `/root/pgpool-II-4.0.4/src/include'

make[1]: Leaving directory `/root/pgpool-II-4.0.4/src'

make[1]: Entering directory `/root/pgpool-II-4.0.4'

make[2]: Entering directory `/root/pgpool-II-4.0.4'

make[2]: Nothing to be done for `install-exec-am'.

make[2]: Nothing to be done for `install-data-am'.

make[2]: Leaving directory `/root/pgpool-II-4.0.4'

make[1]: Leaving directory `/root/pgpool-II-4.0.4'

 

如果在 ./configure时 没有指定目录,则默认安装目录是 /etc/local 

安装成功后会有 

bin  etc  include  lib   share  5个目录(见 make install 详细输出log)

 

安装后bin文件落在 /etc/local/bin

配置文件模板 在  /etc/local/etc 目录下

 

安装 pgpool_recovery (C语言函数)

如果一个节点损坏,要在线把失败的节点再加回集群,这时就需要在所有后端数据库节点的 template1 库中安装一些pgpool-II提供的C语言函数

[root@vlnx107002 pgpool-recovery]# make && make install

-bash-4.2$ psql template1

template1=# create extension pgpool_reconvery;

修改 postgresql.conf配置文件,加入:

pgpool.pg_ctl = '/usr/pgsql-10/bin/pg_ctl';

 

安装 pgpool_regclass

如果是pg9.4或更高以后的版本则无需注册 pgpool-regclass,反之如果是9.4以下的版本则需注册 pgpool-regclass。

该函数被 pgpool-II内部使用,否则,在不同的schema中处理相同的名称和非临时表会出现问题。

[root@vlnx107002 pgpool-regclass]# make && make install

template1=# CREATE EXTENSION pgpool_regclass;

建立insert_lock表

如果不打算使用本机复制模式,则无需安装。否则需安装

如果计划使用本机复制模式和insert_lock, 强烈建议创建用于互斥的pgpool_catalog.insert_lock表。没有这个,insert_lock到目前为止工作。但是在这种情况下,Pgpool-II会锁定插入目标表。此行为与VACUUM的表锁相同,因此INSERT 处理可能因此保持等待很长时间。

 

-bash-4.2$ psql -f /root/pgpool-II-4.0.4/src/sql/insert_lock.sql template1

 

安装 pgpool_adm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值