您的位置:首页 > 其它

postgres-xl 基于pgxc_ctl搭建安装

2015-09-22 09:58 225 查看

1引言

Postgres-XL是一个通用的ACID开源的、可方便进行水平扩展的SQL数据库解决方案。基于PostgreSQL数据库构建。Postgres-XL可用于商业智能、大数据分析、Web2.0、传统应用等场合。

此搭建过程是基于pgxc_ctl进行的安装的,除此外还有手动安装。

搭建过程参考:

http://blog.chinaunix.net/uid-20498361-id-4719153.html

http://blog.163.com/digoal@126/blog/static/163877040201441423449445/

http://files.postgres-xl.org/documentation/install-short.html

http://www.postgres-xl.org/

主机规划:

cnode1(gtm,coordinator,datanode)

cnode2(gtm_proxy,coordinator,datanode)

cnode3(gtm_proxy,coordinator,datanode)

2搭建过程

lhost设置
vi/etc/hosts
192.168.1.132cnode1
192.168.1.134cnode2
192.168.1.133cnode3

l创建用户

为每台主机创建用户postgres。

#useraddpostgres

#passwdpostgres
#输入密码postgres
l权限设置
安装过程中需要在datanode上创建目录,所以需要有$PGHOME目录的写权限。

在每台datanode和coordinator主机上执行以下命令:

chown-Rpostgres:postgres/usr/local/pgsql

l设置环境变量(到home路径最好,不然可能会没写权限)

#su-postgres

$vi.bashrc

exportPGHOME=/usr/local/pgsql

exportPGUSER=postgres

exportLD_LIBRARY_PATH=$PGHOME/lib

exportPATH=$PGHOME/bin:$PATH
source~/.bashrc//即时生效

l安装
#yuminstall-yflexbisonreadline-develzlib-developenjadedocbook-style-dsssl

#wgethttp://jaist.dl.sourceforge.net/project/postgres-xl/Releases/Version_9.2rc/postgres-xl-v9.2-src.tar.gz

#tar-zxvfpostgres-xl-v9.2-src.tar.gz

#cdpostgres-xl

#./configure

#make

#makeinstall

lpgxc_ctl免密码运行(postgres用户下)(gtm端)

mkdir~/.ssh
chmod700~/.ssh
cd~/.ssh
ssh-keygen-trsa(一路回车密码设空)
catid_rsa.pub>>authorized_keys
在本机(cnode1)cnode2cnode3端chmod600authorized_keys
把该文件的内容添加到其他需要安装的机器的authorized_keys文件中。
scpauthorized_keyspostgres@cnode2:/home/postgres/.ssh/
scpauthorized_keyspostgres@cnode3:/home/postgres/.ssh/

这样posgres用户就可以免密码登陆cnode2到cnode3主机了。

#sshcnode2

lpgxc_ctl的配置(ongtm)

/home/postgres/pgxc_ctl/pgxc_ctl.conf

#userandpath

pgxcOwner=postgres

pgxcUser=$pgxcOwner

pgxcInstallDir=/usr/local/pgsql/

#gtmandgtmproxy

gtmMasterDir=/usr/local/pgsql/gtm

gtmMasterPort=6666

gtmMasterServer=cnode1

gtmSlave=n

#gtmproxy

gtmProxy=y

gtmProxyDir=/usr/local/pgsql

gtmProxyNames=(gtm_pxy1gtm_pxy2)

gtmProxyServers=(cnode2cnode3)

gtmProxyPorts=(2000120001)

gtmProxyDirs=($gtmProxyDir/gtm_pxy1$gtmProxyDir/gtm_pxy2)

gtmPxyExtraConfig=none

gtmPxySpecificExtraConfig=(nonenone)

#coordinator

coordMasterDir=/usr/local/pgsql

coordNames=(coordcoord1coord2)

coordPorts=(543254325432)

poolerPorts=(210112101021012)

coordPgHbaEntries=(192.168.1.0/24)

coordMasterServers=(cnode1cnode2cnode3)

coordMasterDirs=($coordMasterDir/coord$coordMasterDir/coord1$coordMasterDir/coord2)

coordMaxWALsernder=0

coordMaxWALSenders=($coordMaxWALsernder$coordMaxWALsernder$coordMaxWALsernder)

coordSlave=n

coordSpecificExtraConfig=(nonenonenone)

coordSpecificExtraPgHba=(nonenodenone)

#datanode

datanodeNames=(datanodedatanode1datanode2)

datanodePorts=(154311543215433)

datanodePoolerPorts=(200112001220012)

datanodePgHbaEntries=(192.168.1.0/24)

datanodeMasterServers=(cnode1cnode2cnode3)

datanodeMasterDir=/usr/local/pgsql

datanodeMasterDirs=($datanodeMasterDir/datanode$datanodeMasterDir/datanode1$datanodeMasterDir/datanode2)

datanodeMaxWalSender=0

datanodeMaxWALSenders=($datanodeMaxWalSender$datanodeMaxWalSender$datanodeMaxWalSender)

datanodeSlave=n

primaryDatanode=datanode


至此搭建完成。

3运行

执行命令(gtm端/home/posgres/pgxc_ctl/)

#su-postgres

启动:
#pgxc_ctl-cpgxc_ctl.confinitall

关闭:

#pgxc_ctl-cpgxc_ctl.confkillall

启动完成后可以在任意节点进入postgresql进行操作,如:

#psql

#select*frompgxc_node;#查看xl集群的所有节点

或者创建一个数据库

#createdatabasetestdb;

其他端可以通过\ctestdb连接使用。


建议测试时关闭防火墙,否则可能会出现连接不到gtm等问题。







                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: