CentOS7 安裝PG叢集
注:是CentOS, PG版本是10
一、PG單機安裝
準備兩臺伺服器
主機名 | IP | hostname | 埠 |
---|---|---|---|
master | 192.168.50.100 | master | 5432 |
slave | 192.168.50.101 | slave | 5432 |
1.獲取源
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y
2.使用yum安裝
yum install postgresql10-contrib postgresql10-server -y
3.初始化資料庫
- 初始化資料庫
- 啟動資料庫
- 新增到開機啟動
/usr/pgsql-10/bin/postgresql-10-setup initdb
systemctl start postgresql-10
systemctl enable postgresql-10.service
4.配置資料庫
- 切換使用者
- 連線資料庫
- 設定資料庫密碼
- 退出
su - postgres
psql
ALTER USER postgres WITH PASSWORD ‘password’;
\q
5.配置外網訪問
- 編輯pg_hba.conf檔案
vi /var/lib/pgsql/10/data/pg_hba.conf
- 翻到檔案最後,將最後三行註釋,並新增一行程式碼
host all all 0.0.0.0/0 md5
- 編輯postgresql.conf檔案,將 listen_addresses 修改為 listen_addresses = ‘*’
- 重啟postgresql
systemctl restart postgresql-10
- 測試postgresql連線(自己測試吧,就不上圖了)
二、叢集整合
1.配置hosts
在主、備伺服器上都設定
[root@master ~]# cat /etc/hosts
127.0.0.1 localhost
192.168.50.100 master
192.168.50.101 slave
2.[可選]初始化master資料庫
上面已經介紹瞭如何初始化,這裡不在講解
3.master建立PG使用者
建立使用者使用者複製WAL日誌,在psql下建立!!!
CREATE USER repuser replication LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '123456';
4.配置master的pg_hba.conf
在最後一行加上下面內容
host replication repuser slave md5
5.配置master的postgresql.conf
listen_addresses = '*'
port = 5432
max_wal_senders = 10
wal_level = replica
archive_mode = on
archive_command = 'cd ./'
hot_standby = on
wal_keep_segments = 64
full_page_writes = on
wal_log_hints = on
6.重啟資料庫
systemctl restart postgresql-10
7.pg_basebackup 建立備庫
在slave端的postgres使用者下執行:
pg_basebackup -h master -U repuser -D /var/lib/pgsql/10/data/ -X stream -P
# 此處會讓你輸入在master上配置的那個同步WAL日誌的賬號的密碼也就是123456
上面這條命令的意思是把master節點中PG data目錄下的檔案及資料夾全部拷貝到slave的data目錄下面,此處可能涉及到Linux使用者許可權,使用
chown postgres.postgres -R data
應該可以把data目錄的組及使用者改為postgres
8.master及slave配置recovery.conf
master節點:
cp /usr/pgsql-11/share/recovery.conf.sample /var/lib/pgsql/11/data/recovery.done
# 注意!!! 上面複製的檔名字尾就是 .done,沒有寫錯
vi /var/lib/pgsql/11/data/recovery.done
# 內容在下面:
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=slave port=5432 user=repuser password=123456'
slave節點:
cp /usr/pgsql-11/share/recovery.conf.sample /var/lib/pgsql/11/data/recovery.conf
vi /var/lib/pgsql/11/data/recovery.conf
#編輯內容如下
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=master port=5432 user=repuser password=123456'
9.檢視程式狀態
主庫
檢視主庫的WAL日誌傳送程式是否正常
從庫
檢視從庫WAL日誌接收程式是否正常
10.重啟主、備資料庫使配置生效
使用navicate連線兩個資料庫,在主庫中新建資料庫及表,並新增資料。可以在從庫中檢視到相應新增的資料庫及表和資料。
相關文章
- Centos7手工安裝Kubernetes叢集CentOS
- centos7 安裝k8s1.30.1高可用叢集(非獨立etcd叢集)CentOSK8S
- Centos7安裝Nacos單機模式以及叢集模式(包含nignx安裝以及實現叢集)的相關配置CentOS模式
- 安裝Kafka叢集Kafka
- 安裝Consul叢集
- 完整安裝always on叢集
- 快速安裝 kafka 叢集Kafka
- redis-3.0.6 安裝叢集Redis
- redis 5.0 叢集的安裝Redis
- 安裝Zookeeper和Kafka叢集Kafka
- Zookeeper3.4.14(單叢集)、Kafka_2.12-2.2.2(叢集)安裝Kafka
- Ubuntu上kubeadm安裝Kubernetes叢集Ubuntu
- Redis安裝+叢集+效能監控Redis
- CDH安裝大資料叢集大資料
- Cloudera Manager安裝 & 搭建CDH叢集Cloud
- 安裝Greenplum 5.2 叢集實戰
- ARM架構安裝Kubernetes叢集架構
- centos7搭建redis叢集CentOSRedis
- CentOS7 搭建 Redis 叢集CentOSRedis
- centos7搭建dolphinscheduler叢集CentOS
- 在Ubuntu 18.04.1上安裝Hadoop叢集UbuntuHadoop
- Zookeeper-3.4.10 叢集的安裝配置
- Cassandra安裝及分散式叢集搭建分散式
- centos安裝k8s叢集CentOSK8S
- Ubuntu 安裝k8s叢集UbuntuK8S
- PG-pg資料庫安裝vector資料庫
- Kubernetes安裝之三:etcd叢集的配置
- kubernetes叢集的安裝異常彙總
- Redis安裝之叢集-哨兵模式(sentinel)模式Redis模式
- Linux原始碼安裝RabbitMQ高可用叢集Linux原始碼MQ
- 分散式 PostgreSQL 叢集(Citus)官方安裝指南分散式SQL
- 安裝配置 zookeeper (單機非叢集模式)模式
- docker-compose安裝rocketmq雙主叢集DockerMQ
- Linux(Centos7)Redis叢集的搭建LinuxCentOSRedis
- Centos7部署Redis叢集CentOSRedis
- Centos7 ELK7.6.2叢集搭建CentOS
- 大資料叢集搭建 – 2. CDH叢集安裝 – NTP,MYSQL,nginx安裝大資料MySqlNginx
- CentOS 7.4 下安裝 ES 6.5.1 搜尋叢集CentOS