PostgreSQL的HA解決方案-項目概述

  公司使用的數據庫時postgresql,一直運行都很流暢,可是最近java新作的管理平臺,因爲登陸用戶較多,併發性比較大。另外新系統可能優化也存在問題,因此pg常常崩潰,因此我就開始研究如何事項pg的高性能,高可用的HA的數據庫集羣解決方案。主要思路是利用postgresql自帶的流複製功能,來實現了雙機熱備,利用pgpool實現數據庫的負載均衡、失敗接管、在線回覆、消除單點故障,從而作到無縫隙無人工參與的主備循環N次切換的高可用。後來通過詳細閱讀他人的博客和幫助手冊。最後逐一實現。下邊是思惟導圖。對於配置過程當中參數的含義即配置參數請參考幫助手冊和個人代碼註釋。html

 

參考博客:java

宿寶臣在路上(HA): http://dz.sdut.edu.cn/blog/subaochen/?p=451linux

Guo_guo(實施手冊):http://blog.csdn.net/sszgg2006/article/details/38684325sql

Constantin的博客(PG安裝與配置):http://www.cnblogs.com/zhoulf/p/4040768.html數據庫

pgpool的中文手冊:http://pgpool.projects.pgfoundry.org/pgpool-II/doc/pgpool-zh_cn.html#startubuntu

 

 關於PG的安裝,我在此簡單說明一下,由於我以前並未從事過運維,因此在研究的過程當中,學習了不少關於redhat的知識,好比:bash

  ①  /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 10000000

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命令補全用的。

相關文章
相關標籤/搜索