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
- 安裝 REDIS 叢集Redis
- 安裝Kafka叢集Kafka
- Centos7安裝Nacos單機模式以及叢集模式(包含nignx安裝以及實現叢集)的相關配置CentOS模式
- Centos7下安裝redis實戰(單機版以及叢集)CentOSRedis
- centos7 安裝k8s1.30.1高可用叢集(非獨立etcd叢集)CentOSK8S
- 完整安裝always on叢集
- 安裝Consul叢集
- 快速安裝 kafka 叢集Kafka
- FastDFS 叢集 安裝 配置AST
- redis-3.0.6 安裝叢集Redis
- redis 5.0 叢集的安裝Redis
- 安裝Zookeeper和Kafka叢集Kafka
- centos7搭建redis叢集CentOSRedis
- CentOS7 搭建 Redis 叢集CentOSRedis
- 安裝Greenplum 5.2 叢集實戰
- Cloudera Manager安裝 & 搭建CDH叢集Cloud
- Redis安裝+叢集+效能監控Redis
- CDH安裝大資料叢集大資料
- CentOS6.5 安裝Zookeeper叢集CentOS
- CentOS6.5安裝Twemproxy叢集CentOS
- CentOS6.5 安裝Storm叢集CentOSORM
- CentOS6.5 安裝Kafka叢集CentOSKafka
- CentOS6.5 安裝Spark叢集CentOSSpark
- Redis叢集環境安裝指南Redis
- centos安裝redis3.0.0叢集CentOSRedisS3
- centos7搭建dolphinscheduler叢集CentOS
- Cassandra安裝及分散式叢集搭建分散式
- Ubuntu 安裝k8s叢集UbuntuK8S
- centos安裝k8s叢集CentOSK8S
- CentOS上zookeeper叢集模式安裝配置CentOS模式
- Redis叢集方案,Codis安裝測試Redis
- redhat安裝雙節點cassandra叢集Redhat
- 3 安裝配置oracle叢集和RACOracle
- Zookeeper3.4.14(單叢集)、Kafka_2.12-2.2.2(叢集)安裝Kafka
- Jstorm叢集搭建過程/Jstorm叢集一鍵安裝部署JSORM
- Centos7 ELK7.6.2叢集搭建CentOS
- Centos7部署Redis叢集CentOSRedis