Postgres-XL集群的搭建和测试详解

Postgres-XL集群的搭建和测试详解

CentOS6.5  192.168.0.101
CentOS6.5  192.168.0.102
CentOS6.5  192.168.0.103
CentOS6.5  192.168.0.104

一、主机规划
cnode1 (gtm)
cnode2 (gtm_proxy,coordinator,datanode)
cnode3 (gtm_proxy,coordinator,datanode)
cnode4 (gtm_proxy,coordinator,datanode)
cnode5 (gtm_proxy,coordinator,datanode)  

二、在每个节点配置主机Host
#vim /etc/hosts
192.168.0.101 cnode1
192.168.0.102 cnode2
192.168.0.103 cnode3
192.168.0.104 cnode4 


三、安装postgres-xl

1.在每一个节点上安装依赖包 

# yum install -y flex bison readline-devel zlib-devel openjade docbook-style-dsssl 

或者:
yum -y install flex
yum -y install bison
yum -y install openjade.x86_64
yum -y install jadetex.noarch
yum -y install docbook*



2.在每一个节点上安装postgres-xl
# tar -zxvf postgres-xl-v9.2-src.tar.gz
# cd postgres-xl
# ./configure --prefix=/usr/local/pgxl-9.2
# make
# make install 


3.在cnode1(gtm)中安装集群管理工具pgxc_ctl
在gtm或任意一台机器上上解压源码

# tar -zxvf postgres-xl-v9.2-src.tar.gz
# cd /opt/pgxl/postgres-xl/contrib/pgxc_ctl/
# make
# make install

这样pgxc_ctl就安装完成了,后续集群的初始化、启动和停止就可以用该命令来进行了。
默认会生成/home/postgres/pgxc_ctl目录,执行pgxc_ctl命令的时候,会默认读取该目录下的配置文件pgxc_ctl.conf。


四、配置集群

1.在每一个节点上创建用户Postgres
 
为每台主机创建用户postgres。
# useradd postgres
# passwd postgres
# 输入密码 12345678

2.在每一个节点上设置环境变量
# su - postgres
$ vi .bashrc #注意这里环境变量一定要添加到.bashrc文件中,否则会找不到相关命令

export PGHOME=/usr/local/pgxl-9.2
export PGUSER=postgres
export LD_LIBRARY_PATH=$PGHOME/lib
export PATH=$PGHOME/bin:$PATH 

3.在每一个节点赋给目录权限
安装过程中需要在datanode上创建目录,所以需要有$PGHOME目录的写权限。
在每台datanode和coordinator主机上执行以下命令:
chown -R postgres:postgres /usr/local/pgxl-9.2


五、在各个节点之间配置免密码连入(pgxc_ctl初始化集群的时候需要连入其他节点)
ssh-keygen -t rsa (in ~/.ssh目录下)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
若不是在本地安装,需要把该文件的内容添加到其他需要安装的机器的authorized_keys文件中。
scp authorized_keys postgres@cnode2:/home/postgres/.ssh/
scp authorized_keys postgres@cnode3:/home/postgres/.ssh/
scp authorized_keys postgres@cnode4:/home/postgres/.ssh/ 


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

修改authorized_keys权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys 

测试免密码连入(第一次需要输入密码):
scp test_scp.txt postgres@cnode2:/home/postgres/
scp test_scp.txt postgres@cnode3:/home/postgres/
scp test_scp.txt postgres@cnode4:/home/postgres/


我这里是在GTM主机上执行安装过程的,所以需要在gtm机器上执行以上命令,并把生成的
id_rsa.pub 文件追加到其他datanode和coordinator主机的.ssh/authorized_keys上。

六、配置集群并使用pgxc_ctl初始化集群

首先:

在每一个协调者和数据节点上创建以下目录并赋权:
mkdir -p /data/pg/pg92data
chown -R postgres:postgres /data/pg/pg92data

其次:
#在cnode1节点(gtm)上创建集群的配置文件:pgxc_ctl.conf
#在目录/home/postgres/pgxc_ctl目录中创建pgxc_ctl.conf文件
#每一个节点的配置信息的具体含义参考:http://files.postgres-xl.org/documentation/pgxc_ctl.html

#pgxc_ctl.conf 的内容如下:
===========================

#user and path
pgxcOwner=postgres
pgxcUser=$pgxcOwner
pgxcInstallDir=/usr/pgxl-9.2

#gtm and gtmproxy
gtmMasterDir=/usr/pgxl-9.2/gtm
gtmMasterPort=
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Postgres-XL是一个强大的分布式数据库集群,可以在大规模数据环境中提供高可用性和高性能。使用Postgres-XL集群,您可以将数据分布在多个节点上,并平衡负载以提高系统吞吐量。 手动配置Postgres-XL集群需要以下步骤: 1. 安装Postgres-XL:首先,您需要在每个节点上安装Postgres-XL软件。可以通过源代码编译或使用预编译的软件包进行安装。确保每个节点的Postgres-XL版本一致。 2. 配置Postgres-XL集群:在每个节点上,您需要编辑Postgres-XL的配置文件来设置集群的参数。配置文件通常位于“$PGXL_HOME/pgxc_ctl/pgxc_ctl.conf”。在配置文件中,您需要指定每个节点的主机名和端口号,以及其他相关参数,如共享存储的路径和主节点的IP地址。 3. 初始化集群:一旦配置文件正确设置,您可以使用pgxc_ctl工具来初始化集群。该工具位于“$PGXL_HOME/pgxc_ctl/pgxc_ctl”。在pgxc_ctl命令行中,您可以执行“init all”命令来初始化集群。此操作将创建必要的数据库对象和配置表,以管理集群。 4. 启动集群:一旦初始化完成,您可以使用pgxc_ctl工具来启动集群。在pgxc_ctl命令行中,您可以执行“start all”命令来启动集群。此操作将启动每个节点上的Postgres-XL进程,并将其连接到集群。 5. 验证集群:一旦集群启动,您可以使用任何标准的PostgreSQL客户端工具连接到集群,并执行SQL查询。您还可以使用pgxc_ctl工具来检查所有节点的状态,并确保它们正常运行。 6. 扩展集群:如果您需要扩展Postgres-XL集群以支持更多的节点和更大的数据库负载,您可以使用pgxc_ctl工具来添加新的节点和重新平衡数据。具体的扩展步骤取决于您的集群架构和需求。 总结而言,手动配置Postgres-XL集群需要安装软件、编辑配置文件、初始化集群、启动集群、验证集群以及可能的扩展集群。这些步骤可以确保您的Postgres-XL集群正确设置并可用于处理大规模数据工作负载。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值