PostgreSQL的HA解决方案-项目概述
公司使用的数据库时postgresql,一直运行都很流畅,但是最近java新做的管理平台,由于登录用户较多,并发性比较大。另外新系统可能优化也存在问题,所以pg经常崩溃,所以我就开始研究如何事项pg的高性能,高可用的HA的数据库集群解决方案。主要思路是利用postgresql自带的流复制功能,来实现了双机热备,利用pgpool实现数据库的负载均衡、失败接管、在线回复、消除单点故障,从而做到无缝隙无人工参与的主备循环N次切换的高可用。后来经过详细阅读他人的博客和帮助手册。最后逐一实现。下边是思维导图。对于配置过程中参数的含义即配置参数请参考帮助手册和我的代码注释。

参考博客:
宿宝臣在路上(HA): http://dz.sdut.edu.cn/blog/subaochen/?p=451
Guo_guo(实施手册):http://blog.csdn.net/sszgg2006/article/details/38684325
Constantin的博客(PG安装与配置):http://www.cnblogs.com/zhoulf/p/4040768.html
pgpool的中文手册:http://pgpool.projects.pgfoundry.org/pgpool-II/doc/pgpool-zh_cn.html#start
关于PG的安装,我在此简单说明一下,因为我之前并未从事过运维,所以在研究的过程中,学习了很多关于redhat的知识,比如:
① /ect/profile 、/home/user/.bash_profile 、/home/user/.bashrc中设置环境环境变量,并使之生效。
》使用source 文件名,在本终端中使得该文件生效。/ect/profile是系统级别的,、/home/user/.bash_profile 、/home/user/.bashrc是用户级别的。系统级的对于所有用户都起作用,用户级的只对对应的用户起作用。
》source .bashrc可以立刻生效,即使是新打开的终端也生效。
》但source .bash_prifile只能在当前终端生效,新打开的终端不生效,只有当重新启动的时候,才生效。
》对于export +环境变量,这样的环境变量才能变成全局的。
》关于详细的描述,参考:http://blog.csdn.net/chenchong08/article/details/7833242
下边附上我设置的.bashrc
# .bashrc # Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi # User specific aliases and functions
export PGHOME=/usr/local/pgsql export POOLHOME=/usr/local/pgpool export PGDATA=/usr/local/pgsql/data export PATH=$PATH:$HOME/bin:$PGHOME/bin:$POOLHOME/bin:/sbin export LANG=GBK export PS1='$HOSTNAME#$LOGNAME:$PWD> ' set -o vi
ulimit -c alias lf="ls -CF"
alias ll="ls -trl"
alias l="ls -l" alias dbc='psql -d postgres -U postgres'
alias pgstart='pg_ctl -D $PGDATA start'
alias pgstop='pg_ctl kill INT `head -1 $PGDATA/postmaster.pid`'
② redhat系列类型与ubuntu系列类型的linux软件包管理的异同。
》接下来的实验PG的安装采取源码安装,安装的过程,参考这篇博文:Constantin的博客(PG安装与配置):http://www.cnblogs.com/zhoulf/p/4040768.html
》安装过程会出现或多或少的问题。记住--help永远是最可靠的朋友,如 ./configure --help 就明白了。我安装过程会报readline和另外一个找不到,不过可以查看帮助使用--without,就去检查系统是否存在,当然也可以自行安装,然后指明文件的路径即可,readline是系统的工具,主要是记录记录历史和tab命令补全用的。
PostgreSQL的HA解决方案-项目概述的更多相关文章
- PostgreSQL的HA解决方案-2负载均衡(load balance)
一.部署说明 1.1 实施环境 本文档实验环境如下: PGSQL主机: 192.168.1.45 PGSQL备机: 192.168.1.50 软件和系统版本 Pgsql 版本: pgsql 9.2.4 ...
- PostgreSQL的HA解决方案-1主从和备份(master/slave and backup)
一.部署说明 1.1 实施环境 本文档实验环境如下: PGSQL主机: 192.168.1.45 PGSQL备机: 192.168.1.50 软件和系统版本 Pgsql 版本: pgsql 9.2.4 ...
- Web服务器项目详解 - 00 项目概述
目录 00 项目概述 01 线程同步机制包装类 02 半同步/半反应堆线程池(上) 03 半同步/半反应堆线程池(下) 04 http连接处理(上) 05 http连接处理(中) 06 http连接处 ...
- Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录
一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)
1.熟悉几个组件 1.1.apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...
- Mall电商项目总结(一)——项目概述
项目概述 此电商项目为本人学习项目,后端 使用nginx实现负载均衡转发请求到多台tomcat服务器,使用多台 redis服务器分布式 缓存用户登录信息. 项目已经部署到阿里云服务器,从阿里云linu ...
- CMDB01 /paramiko模块、项目概述、项目架构、项目实现
CMDB01 /paramiko模块.项目概述.项目架构.项目实现 目录 CMDB01 /paramiko模块.项目概述.项目架构.项目实现 1. paramiko 2. 基于xshell连接服务器 ...
- .NET 开源GIS解决方案一 概述
写在前面 最近开始研究开源GIS,国内开源GIS的资料很少,而基于.net的又是少之又少.所以决定把自己研究的资料进行总结整理,技术在于分享,本系列(计划是写一个系列,如果我可以坚持下来的话)部分是自 ...
- java技术栈:项目概述
学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效.当然坏处就是片面,不成体系.这种学习方式在学校以小 ...
随机推荐
- 爬虫系列(十三) 用selenium爬取京东商品
这篇文章,我们将通过 selenium 模拟用户使用浏览器的行为,爬取京东商品信息,还是先放上最终的效果图: 1.网页分析 (1)初步分析 原本博主打算写一个能够爬取所有商品信息的爬虫,可是在分析过程 ...
- 43.mapping的理解
主要知识点: mapping的理解 (1)往es里面直接插入数据,es会自动建立索引,同时建立type以及对应的mapping (2)mapping中就自动定义了每个field的数据类型. ( ...
- UOJ #214 合唱队形 (概率期望计数、DP、Min-Max容斥)
9个月的心头大恨终于切掉了!!!! 非常好的一道题,不知为何uoj上被点了70个差评. 题目链接: http://uoj.ac/problem/214 题目大意: 请自行阅读. 题解: 官方题解讲得相 ...
- 【微软2017年预科生计划在线编程笔试第二场 B】Diligent Robots
[题目链接]:http://hihocoder.com/problemset/problem/1498 [题意] 一开始你有1个机器人; 你有n个工作; 每个工作都需要一个机器人花1小时完成; 然后每 ...
- lucene_02_IKAnalyre
前言 在lucene中虽然已经提供了许多的分词器:StandardAnalyzer.CJKAnalyzer等,但在解析中文的时候都会把文中拆成一个个的单子. 毕竟老外不懂中文.这里介绍一个中文的分词器 ...
- SQL Server 通过备份文件初始化复制 – 听风吹雨
一.背景 MySQL在对有历史数据的数据库进行搭建复制(Master/Slave)的时候,可以通过在Master服务器备份历史数据,利用这个备份文件 在Slave进行还原:这样做的好处是可以更加快速的 ...
- 转载 - KMP算法
出处:http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html KMP算法 在介绍KMP算法之前,先介绍一下BF算法. 一. ...
- mongodb--find基础用法
聚集集合查询 1.查询所有记录 db.userInfo.find(); 相当于:select* from userInfo; 默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数 ...
- percona-xtradb-cluster安装部署
Percona Xtradb Cluster 安装 Percona Xtradb Cluster 介绍 Percona XtraDB Cluster 简称:PXC,是针对MySQL 用户的高可用性和扩 ...
- (转载)Html解析工具Jsoup
jsoup 简介Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HTM ...