- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
pgpgpoolUbuntu实现分布式流复制模式课案
构架图
本文档由 postgreSQL 专业群 深圳-GS 初稿, PostgreSQL 群 beta 2015-01-18 日修订
主要工作有 GS 完成
主机宕机后构架图
恢复完成后构架图
实际部署图
操作步骤
安装pg
apt-get install postgresql-9.1
:apt-get install postgresql-contrib-9.1
:apt-get install libpq-dev?
:apt-get install postgresql-server-dev-9.1
:配置系统用户postgres密码:pg
:使用root用户,创建目录用来做后面的归档目录
:进入postgres的home目录,vim .bash_profile添加环境变量,修改完成后使用source .bash_profile激活环境变量
:配置数据库超级用户postgres密码:pgdb,并使用\q推出SQL命令模式
进入postgres配置目录(下面目录只针对pg在ubuntu上的apt-get默认安装)
修改:pg_hba.conf: 添加行:
host replication postgres 192.168.141.142/32 trust
host replication postgres 192.168.141.140/32 trust
host replication postgres 192.168.141.141/32 trust
修改postgresql.conf
启用参数:listen_addresses
配置端口:port = 5432
启用参数:wal_level = hot_standby
启用参数:archive_mode = on
archive_command = cp %p /opt/archivedir/%f
启用参数:hot_standby = on
启用参数:max_wal_senders = 2
推出当前shell连接,重新登录系统用户postgres,确保环境变量生效
创建配置文件postgres.conf软连接文件到$PGDATA目录:
ln /etc/postgresql/9.1/main/postgresql.conf /var/lib/postgresql/9.1/main/
否则在使用pg_ctl start启动数据库是出现如下错误:
启动数据库(系统用户postgres下执行pg_ctl restart)
配置ssh无密码连接(postgres)
把B主机的公钥文件拷贝到A主机的authorized_keys ,这样B主机可以ssh免密码登录A
可以通过查看 /var/log/secure 来查看登录信息,这种方式为 publickey
a)安装ssh服务:apt-get install ssh
b)切换到系统用户postgres,执行ssh-keygen -t rsa命令,后续默认回车,并生成类似二维码的东西。
c)进入用户的home目录,用ls可以看到.ssh的文件夹,进入.ssh文件夹,查看文件:
使用cat id_rsa.pub authorized_keys (####名称必须是authorized_keys)
使用 scp authorized_keys node2_ip:~/.ssh/node1 将当前的authorized_keys发送到node2和node3的postgres主目录下面的.ssh文件夹下,并命名为node1
使用同样的方法,在node2,node3上面将authorized_keys传送给其他的2个节点上面,并使用cat node* authorized_keys追加到authorized_keys里面
测试无密码连接是否生效:在第一次连接输入密码后,以后的连接都不用输入密码
配置pg流复制模式(@slave1,@slave2)
使用pg_ctl命令,停止slave1,slave2的PG服务(@slave)
返回master服务器,执行如下命令
postgres@xelg-linux:~/.ssh$ psql
psql (9.1.13)
Type help for help.
postgres=# select pg_start_backup(stream_bak);
pg_start_backup
-----------------
0/2000020
(1 row)
postgres=# \q
使用命令scp -r 9.1/ 192.168.141.14
文档评论(0)