postgres-xl 基于pgxc_ctl搭建安装
2015-09-22 09:58
225 查看
1引言
Postgres-XL是一个通用的ACID开源的、可方便进行水平扩展的SQL数据库解决方案。基于此搭建过程是基于pgxc_ctl进行的安装的,除此外还有手动安装。
搭建过程参考:
主机规划:
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
#wget
#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_keys postgres@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等问题。
相关文章推荐
- 【图像处理笔记】平滑空间滤波器
- (2015秋) 作业3:结对编程(总分100分)
- oracle11g asm standalone 单实例重建
- iOS生成PDF的关键代码-备忘
- vb.net 发布失败
- web项目部署到自己的Tomcat总是不成功
- 前端交付获取图片截取效果,后端处理图片
- LeetCode -- Sort Colors
- iOS中3种基础的数据持久化模式
- Mysql导入大表文件时注意修改参数
- 有关流Stream
- 校园讲座小记
- Spinner类setSelection执行流程源码解析
- 媒体变现四种方式
- 【转】10分钟搭建 App 主流框架
- 学习小记
- /dev/mapper/VolGroup-lv_root: unexpected inconsistency; run fsck manually
- 关于Latch
- Linux Shell 文本处理工具集锦
- 顶场先?底场先?