PostgreSQL在CentOS上的集群部署方法

892
2025/4/3 0:32:04
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上部署PostgreSQL集群通常涉及以下几个步骤,使用工具如repmgrPgpool来实现高可用性和负载均衡。以下是详细的部署方法:

1. 安装和配置PostgreSQL

  • 更新系统:首先,确保你的CentOS系统是最新的。
    sudo yum update -y
    
  • 安装PostgreSQL:使用yum安装PostgreSQL服务器和开发工具。
    sudo yum install postgresql-server postgresql-contrib
    
  • 初始化数据库:使用postgresql-setup初始化数据库集群。
    sudo /usr/pgsql/version/bin/postgresql-setup initdb
    
  • 启动PostgreSQL服务:启动PostgreSQL服务并设置为开机自启动。
    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    

2. 配置PostgreSQL

编辑postgresql.conf文件以进行必要的设置,例如:

listen_addresses = '*'  # 允许远程连接
port = 5432            # 设置监听端口
max_connections = 100  # 设置最大连接数
shared_buffers = 256MB # 设置共享缓冲区大小
work_mem = 64MB        # 设置工作内存大小
maintenance_work_mem = 256MB # 设置维护工作内存大小
effective_cache_size = 768MB # 设置有效缓存大小
checkpoint_segments = 8
checkpoint_completion_target = 0.9

3. 安装和配置repmgr

  • 安装repmgr:下载并安装repmgr。
    wget https://repmgr.org/download/repmgr-5.3.3.tar.gz
    tar -zxvf repmgr-5.3.3.tar.gz
    cd repmgr-5.3.3
    ./configure
    make -j 4
    sudo make install
    
  • 配置repmgr:在主节点上配置repmgr。
    mkdir -p /var/lib/pgsql/data
    vi /var/lib/pgsql/data/repmgr.conf
    
    添加以下内容:
    node_id=1
    node_name='pghost01'
    conninfo='host=pghost01 user=repmgr dbname=repmgr connect_timeout=2'
    data_directory='/var/lib/pgsql/data'
    pg_bindir='/usr/pgsql/bin'
    log_level=INFO
    log_file='/var/log/repmgr/repmgr.log'
    
  • 注册主节点:在主节点上注册repmgr。
    sudo -u postgres repmgr -f /var/lib/pgsql/data/repmgr.conf primary register
    

4. 配置Pgpool

  • 安装Pgpool:下载并安装Pgpool。
    wget https://download.postgresql.org/pub/pgpool/pgpool-iv/pgpool-iv-5.3.4.tar.gz
    tar -zxvf pgpool-iv-5.3.4.tar.gz
    cd pgpool-iv-5.3.4
    ./configure
    make -j 4
    sudo make install
    
  • 配置Pgpool:在Pgpool配置文件中设置后端节点。
    vi /var/lib/pgpool/data/pgpool.conf
    
    添加以下内容:
    backend_hostname0 = 'pghost01:5432'
    backend_hostname1 = 'pghost02:5432'
    listen_port = 5432
    
  • 启动Pgpool:启动Pgpool服务并设置为开机自启动。
    sudo systemctl start pgpool
    sudo systemctl enable pgpool
    

5. 验证集群

  • 连接到Pgpool:使用psql或其他数据库客户端工具连接到Pgpool。
    psql -h localhost -U pgpool -d your_database
    
  • 验证集群状态:在Pgpool Web界面中查看集群节点状态,确保所有节点状态均为UP。

以上步骤提供了一个基本的PostgreSQL集群部署流程,具体配置可能需要根据实际需求进行调整。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: CentOS系统下的自动化脚本如何编写