资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Postgres-XL使用说明文档一、知识点介绍Postgres-XL是一个基于PostgreSQL数据库的横向扩展开源SQL数据库集群,XL代表eXtensible Lattice,即可扩展的PG“格子”之意,以下简称PGXL。官方称其既适合写操作压力较大的OLTP OLTP 联机事务处理过程(On-Line Transaction Processing),也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。OLTP系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;应用,又适合读操作为主的大数据应用。它的前身是Postgres-XC(简称PGXC),PGXC是在PG的基础上加入了集群功能,主要适用于OLTP OLAP,也叫联机分析处理(On-line Analytical Processing)系统,有的时候也叫DSS决策支持系统,就是我们说的数据仓库。在这样的系统中,语句的执行量不是考核标准,因为一条语句的执行时间可能会非常长,读取的数据也非常多。所以,在这样的系统中,考核的标准往往是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。OLAP系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。应用;PGXL是在PGXC的基础上的升级产品,加入了一些适用于OLAP应用的特性,如 Massively Parallel Processing (MPP) 特性。通俗的说PGXL的代码是包含PG代码的,使用PGXL安装PG集群并不需要单独安装PG。总体感觉PGXL这款工具还是相当成熟的,有官方网站http:/www.postgres-xl.org/,文档也比较完善,也有商业公司2ndQuadrant在支持。上面这张图就是PGXL集群的架构图,来自官方网站。所有节点中分为三种角色:GTM(全局事务管理器)、Coordinator(协调器)和Datanode(数据节点)。需要注意一点是图中的Load Balance组件并不属于PGXL集群本身,需要其他负载均衡工具实现。GTM:全局事务控制节点,保证集群数据的一致性,与Coordinator节点和Datanode节点不断通信,是整个集群的核心节点,只存在一个,可以存在一个GTM Standby节点,对GTM实时备份。GTM一旦故障,整个集群立刻无法访问,此时可以切换到GTM Standby节点上。如果部署了GTM Standby节点,就应该同时部署GTM Proxy,一般和Coordinator、Datanode部署在同一台服务器上。GTM Proxy的作用代理Coordinator和Datanode对GTM的访问,起到减轻GTM负载的作用,另外一个重要的作用是帮助完成GTM的故障切换,当GTM节点发生故障后,GTM Standby成为新的GTM,此时Coordinator和Datanode节点并不需要重新指定GTM地址,只需要GTM Proxy重新连接到新的GTM地址即可。Coordinator:接收数据访问请求的节点,本质上是由PG后台进程组成。接收的一条查询后,Coordinator节点执行查询计划,然后会根据查询数据涉及的数据节点将查询分发给相关的数据节点。写入数据时,也会根据不同的数据分布策略将数据写入相关的节点。可以说Coordinator节点上保存着集群的全局数据位置。Coordinator节点可以任意扩展,各个节点之间除了访问地址不同以外是完全对等的,通过一个节点更新的数据可以在另一个节点上立刻看到。每个Coordinator节点可以配置一个对应的standby节点,避免单点故障。Datanode:实际存取数据的节点,接收Coordinator的请求并执行SQL语句存取数据,节点之间也会互相通信。一般的,一个节点上的数据并不是全局的,数据节点不直接对外提供数据访问。一个表的数据在数据节点上的分布存在两种模式:复制模式和分片模式,复制模式下,一个表的数据在指定的节点上存在多个副本;分片模式下,一个表的数据按照一定的规则分布在多个数据节点上,这些节点共同保存一份完整的数据。这两种模式的选择是在创建表的时候执行CREATE TABLE语句指定的,具体语法如下:CREATE TABLE table_name(.)DISTRIBUTE BY HASH(col)|MODULO(col)|ROUNDROBIN|REPLICATIONTO NODE(nodename1,nodename2.)可以看到,如果DISTRIBUTE BY 后面是REPLICATION,则是复制模式,其余则是分片模式,HASH指的是按照指定列的哈希值分布数据,MODULO指的是按照指定列的取摩运算分布数据,ROUNDROBIN指的是按照轮询的方式分布数据。TO NODE指定了数据分布的节点范围,如果没有指定则默认所有数据节点参与数据分布。如果没有指定分布模式,即使用普通的CREATE TABLE语句,PGXL会默认采用分片模式将数据分布到所有数据节点。二、安装说明1. 下载安装包https:/www.postgres-xl.org/download/当前最新版本为:postgres-xl-9.5r1.6.tar.bz22. 主机规划服务器分配:(手动配置分配)操作系统IP地址主机名称节点类型其他Kylin3.2192.168.51.2scada_server1gtm,coordinator1,coordinator2Kylin3.2192.168.51.125scada_server2datanode1,datanode2Kylin3.2192.168.51.120scada_server3datanode3,datanode4服务器分配:(自动配置分配)操作系统IP地址主机名称节点类型其他Kylin3.2192.168.51.2scada_server1gtmKylin3.2192.168.51.125scada_server2coordinator1,datanode1,datanode2Kylin3.2192.168.51.120scada_server3coordinator2,datanode3,datanode4各个节点划分:(手动配置划分)节点名称所在机器节点类型端口号连接池端口号gtmscada_server1192.168.51.2gtm6666coord1scada_server1192.168.51.2coordinator53016701coord2scada_server1192.168.51.2coordinator53026702dn1scada_server2192.168.51.125datanode54016801dn2scada_server2192.168.51.125datanode54026802dn3scada_server3192.168.51.120datanode54016801dn4scada_server4192.168.51.120datanode54026802各个节点划分:(自动配置划分)节点名称所在机器节点类型端口号连接池端口号gtmscada_server1192.168.51.2gtm20001gtm_pxyscada_server2192.168.51.125gtm_proxy20001coord1scada_server2192.168.51.125coordinator2000420010gtm_pxyscada_server3192.168.51.120gtm_proxy20001coord2scada_server3192.168.51.120coordinator2000420010dn1scada_server2192.168.51.125datanode2000820012dn2scada_server2192.168.51.125datanode2000920013dn3scada_server3192.168.51.120datanode2000820012dn4scada_server4192.168.51.120datanode20009200133. 修改节点Host配置每个节点已root用户执行下面操作:# vi /etc/hosts在文件后面追加以下内容:192.168.51.2 scada_server1192.168.51.125 scada_server2192.168.51.120 scada_server34. 安装依赖软件包需要安装的依赖包:openssh-clients, flex, bison, readline-devel, zlib-devel, openjade, docbook-style-dsssl, gcc检查需要依赖的包:# rpm -qa |grep xxx如果上述命令能够输出包的信息则说明该包已经存在。(kylin3.2操作系统自带上述所有包!)5. 卸载系统自带PostgreSQL数据库以root用户执行:查询系统是否安装自带软件:查询:# rpm -qa |grep postgresql若有则删除已安装软件:删除:# rpm -qa |grep postgresql | xargs rpm -e -nodeps查询是否删除干净:查询:# rpm -qa |grep postgresql6. 每个节点添加postgres用户以root用户执行:建立组:# groupadd postgres建立用户:# useradd -m -d /home/postgres postgres -g postgres初始化密码:# passwd postgres输入密码:abcd.135(举例)注:如果需要删除postgres用户,可以以root用户执行命令:# userdel -r postgres7. 配置无密码登录既需要配置postgres用户,还需要配置root用户。- root 用户 - scada_server1节点root scada_server1 # ssh-keygenroot scada_server1 # ssh-copy-id -i /.ssh/id_rsa.pub rootscada_server1root scada_server1# ssh-copy-id -i /.ssh/id_rsa.pub rootscada_server2root scada_server1# ssh-copy-id -i /.ssh/id_rsa.pub rootscada_server3
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号