文章目录greenplum组件1、基于postgresql2、Interconnnect3、greenplum master4、greenplum segment5、 ETL主机加载数据6、Greenplum性能监视器postgresql 体系结构集群部署一、服务器相关配置参数更改二、rpm安装:三、登录测试:四、授权五、添加mirror六、添加standbygreenplum的数据库是一个大规模并行处理(MPP)数据库服务器架构,该架构是专为管理大规模的数据仓库和商业智能设计的。
Greenplum数据存储和处理大数据量,是通过跨多个服务器和主机分配数据和负载。Greenplum数据库是基于PostgreSQL8.2单个数据库的阵列,这些数据库像单个数据库一样共同工作。master主机是Greenplum数据库系统的入口点,它是客户端连接并提交SQL语句的接口数据库实例。Master协调系统中其他数据库实例(称为Segment)的工作负载,处理数据和存储。分段通过互连,Greenplum数据库的网络层互相通信和主控
greenplum组件Greenplum数据库系统的主要组件以及与每个组件关联的硬件注意事项和概念:Greenplum Master,Segments和Interconnect。此外,系统可能具有用于数据加载的可选ETL主机和用于监视查询工作负载和性能的Greenplum性能监视器。
1、基于postgresqlgreenplum的数据库基于postgresql的开源技术,它本质上是几个postgresql数据库实例一起协作当做一个有凝聚力数据库管理系统(dbms)使用。postgresql的内部一杯修改和补充,以支持Greenplum数据库的并行架构。例如,该系统目录,优化器,查询执行器,和事务管理器组件以被修改和改进,以支持能够在所有并行的postgresql数据库实例同事执行查询。
2、InterconnnectGreenplum Interconnect可使不同的Postgresql实例之间进行通信,并且是系统表现为一个逻辑数据库
3、greenplum master3.1. master功能作用
master是greenplu数据库系统的入口,数据库服务器进程接收客户端连接并处理系统用户发出的sql命令。
master维护系统目录(一组包含有关greenplum数据库系统本身的元数据的系统表,但是master不包含任何用户数据。数据只保存在segment主机上。
master验证客户端连接,处理传入的sql命令,在每个segment主机之间分配工作负载,协调每个segment返回的结果。并将结果返回客户端。
3.2. standby
standby通过事务日志复制进程保持新状态,该进程在standby上运行,并同步master和standby主机之间的数据。如果master主机失败,日志复制关闭;当standby处于活动状态时,日志复制重建上次成功提交事务时的master的状态。
由于Master不包含任何用户数据,因此只需要在Master和Standby之间同步系统目录表。当这些表被更新时,更改会自动复制到Standby,以便始终与主站同步
4、greenplum segment4.1、segment主要作用
segment主要是存储数据及数据查询处理。用户自定义的表(非系统表,master存储系统表)及索引分布在可用的segment;每个segment包含数据的不同。用户不能直接与grenplum数据系统的segment交互,而是通过master进行交互。在参考Greenplum数据库硬件配置中,每个segment主机的segment实例数由有效的CPU或CPU内核的数量决定。 例如,如果你的segment主机有两个双核处理器,则每个主机可能有两个或四个主要segment。 如果你的segment主机有三个四核处理器,则每个主机可能有三个,六个或十二个segment。性能测试将有助于确定所选硬件平台的-佳segment。4.2、segment冗余 (mirror)镜像配置mirror,当你的primary segment不可用时则mirror segment允许数据查询故障切换到镜像segment。mirror segment必须始终位于与primary 不同的主机上。
镜像segment必须始终位于与primary不同的主机上。镜像segment可以通过两种标准配置中的一种或你设计的自定义配置在系统中的主机之间进行布置。默认配置(称为组镜像)将所有primary segment的镜像放置在另一主机上的主机上。另一种称为扩展镜像的选项,在其他主机上为每个主机的主要segment传播镜像。在具有多个网络接口的主机上,主接口和镜像接口间平均分配。下图:Greenplum数据库中的数据镜像数据库显示如何配置默认组镜像选项,表格数据如何分布在各个segment中。
图片:
4.3、性能
Segment主机执行大部分数据库处理,因此配置好Segment主机服务器,以便从你的Greenplum数据库系统获得-佳性能。Greenplum数据库的性能将与数组中慢的Segment服务器一样快,也就是性能以慢的Segment为准
4.4、网络
网络互连是greenplum 数据系统的网络层,当用户连接到数据库并发查询时,会在每个segment上创建进程处理该查询的工作。网络互连是指的segment 之间的进程通信所依赖的网络基础设施。默认情况下,greenplum数据库互连具有流量控制的UDP(用户数据报协议)协议发送消息。greenplum做了附加分组和检查不由UDP协议执行,性能和可扩展行超过TCP。
5、 ETL主机加载数据greenplum支持使用其外部表功能可以快速并行的数据加载。通过使用外部表与greenplum数据库的并行文件服务器(gpfdist)结合使用,管理员可以从其greenplum数据库系统实现大的并行度和负载带宽。
使用gpfdist文件服务器程序的一个优点是,它可以确保在从外部表数据文件读取时,您的Greenplum数据库系统中的所有Segment都被充分利用。
6、Greenplum性能监视器Greenplum还提供可选的监控和管理工具,管理员可以安装并启用Greenplum数据库。 要使用Greenplum性能监视器,您的Greenplum数据库阵列中的每个主机都必须安装并启用数据收集代理。 当你开始Greenplum性能监视器,代理开始收集关于查询和系统利用率的数据,代理定期将数据发送到Greenplum Master(通常每15秒)。用户可以查询Greenplum Performance Monitor数据库,查看有效查询和历史查询和系统性能数据。 Greenplum Performance Monitor还具有图形化的基于Web的用户界面,用于查看这些性能指标并以其他方式管理其Greenplum
postgresql 体系结构postgresql数据库主要五大部分组成:连接管理系统(系统控制器)、编译执行系统、存储管理系统、事务系统、系统表。以下模块功能介绍:
1、 连接管理系统:机构外部操作对系统的请求,对操作请求进行预处理和分发,具有系统逻辑控制作用。
2、编译执行系统:由查询编译器、查询执行器、DDL编译器组成,完成操作请求在数据库中的分析处理和转化工作,终实现屋里存储介质数据的操作;
3、存储管理系统:由索引管理器、内存管理器、外存管理器组成,负责存储和管理物理数据,提供对编译查询系统的支持;4、事务系统:包含 事务管理器、日志管理器、并发控制、锁管理器组成,日志管理器和事务管理器完成对操作请求处理的事务一致性支持,锁管理器和并发控制提供对并发访问数据的一致性支持;5、系统表:是postgresql数据库的元信息管理中心,包括数据库对象信息和数据库管理控制信息。系统表管理元数据信息,将postgresql数据库的各个模块有机的连接在一起,形成一个高效的数据管理系统。关于greenplum的组件介绍、工作原理网上很多,下面是我感觉部署比较方便的方法
集群部署centos7.4 16核32G
ip hostname 角色192.168.0.44 k8s-master master、segment192.168.0.43 k8s-node1 segment、standby192.168.0.40 k8s-node2 segment一、服务器相关配置参数更改1、添加hosts
cat /etc/hosts192.168.0.44 k8s-master192.168.0.43 k8s-node1192.168.0.40 k8s-node2
2、配置tcp参数
修改/etc/sysctl.conf
[root@k8s-master ~]# cat >> /etc/sysctl.conf /etc/security/limits.conf >~/.bashrc [gpadmin@k8s-master ~]$ cat >> ~/.bashrc