centos

centos postgresql集群搭建

小樊
92
2025-02-12 04:09:19
栏目: 云计算

在CentOS上搭建PostgreSQL集群有多种方法,以下是使用pgpool-II实现高可用集群的步骤:

  1. 环境准备

    • 确保所有服务器的主机名和IP地址配置正确,并统一主机名。
    • 安装必要的软件包,如epel-release和centos-release-scl。
  2. 安装PostgreSQL和pgpool-II

    • 添加PostgreSQL的YUM仓库:
      sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/el-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
      
    • 安装PostgreSQL 12和pgpool-II 4.1.2:
      sudo yum install postgresql12 postgresql12-libs postgresql12-devel postgresql12-server -y
      sudo yum install http://www.pgpool.net/yum/rpms/4.1/redhat/rhel-7-x86_64/pgpool-ii-release-4.1-2.noarch.rpm -y
      sudo yum install pgpool-ii-pg12-* -y
      
  3. 配置pgpool-II

    • 编辑pgpool-II的主配置文件/etc/pgpool-ii/pgpool.conf,设置以下参数:
      listen_addresses = '*'
      port = 9898
      pcp_process_port = 9000
      watchdog_port = 9694
      
    • 启动pgpool-II服务并设置为开机自启动:
      sudo systemctl start pgpool-ii
      sudo systemctl enable pgpool-ii
      
  4. 配置PostgreSQL

    • 在主服务器上初始化数据库并修改postgresql.conf文件:
      sudo -u postgres psql
      CREATE DATABASE postgres;
      CREATE USER postgres WITH PASSWORD 'password';
      ALTER ROLE postgres SET client_encoding TO 'utf8';
      ALTER ROLE postgres SET default_transaction_isolation TO 'read committed';
      ALTER ROLE postgres SET timezone TO 'UTC';
      GRANT ALL PRIVILEGES ON DATABASE postgres TO postgres;
      \q
      
    • 修改postgresql.conf文件中的参数:
      listen_addresses = '*'
      port = 5432
      archive_mode = on
      archive_command = 'cp "%p" "/var/lib/pgsql/archivedir/%f"'
      max_wal_senders = 10
      max_replication_slots = 10
      wal_level = replica
      hot_standby = on
      
  5. 启动PostgreSQL服务

    • 启动并启用PostgreSQL服务:
      sudo systemctl start postgresql-12.service
      sudo systemctl enable postgresql-12.service
      
  6. 验证集群状态

    • 使用pgpool-II的管理界面或命令行工具检查集群状态,确保所有节点正常运行。

通过以上步骤,你可以在CentOS上成功搭建一个高可用的PostgreSQL集群。

0
看了该问题的人还看了