Greenplum快速上手目录快速上手Greenplum 1
目录 1
1 Greenplum的介绍 2
1.1 Greenplum产品发展历程 2
2 Greenplum市场地位 3
3 Greenplum架构设计 4
3.1 Scale up架构 4
3.2 Greenplum架构图 4
3.3 Greenplum架构组成 5
3.3.1 Master Hosts功能 5
3.3.2 Interconnect功能 5
3.3.3 Segment Hosts功能 5
3.4 Greenplum DB真正完全无共享的MPP数据库 6
4 Greenplum机器选型 6
4.1 机器选型一般的配置 6
5 Greenplum安装部署 8
5.1 系统准备-储存 8
5.2 容量估算 8
5.3 禁用SELinux and Firewall 9
5.4 时钟设置 9
5.5 修改系统资源限制 9
5.6 磁盘I/O 及其他参数 10
5.7 创建用户 10
5.8 Greenplum软件安装 11
5.9 Greenplum 软件安装(简历互信和目录) 11
5.10 Greenplum 软件安装(校验性能) 11
5.11 Greenplum 数据库初始化 12
5.12 配置standby 12
5.13 Master Failover和Restoration 13
5.14 配置Segment实例镜像 13
5.15 配置环境变量 14
6 Greenplum使用技巧 14
6.1 性能测试参考值 14
6.2 日志输出与查看 15
6.3 程序调试监控工具安装 15
6.4 常见问题 15
1、切换环境变量 15
2、RH 6 / Cents 6 防火墙禁掉后服务器重启后又Active 16
3、磁盘读写性能 16
1 Greenplum的介绍1.1 Greenplum产品发展历程
1、Greenplum公司成立于2003年,产品基于开源的PostgreSQL数据库开发,2006年推出了首-款产品。
2、2013年Pivotal公司成立后,Greenplum研发团队并入到Pivotal研发中心,目前Greenplum全球内核研发人员一百多人,遍布美国硅谷,北京,上海以及欧洲,以及PostgreSQL数据库社区的核心开发人员。
3、Greenplum研发团队将敏捷软件开发方法学引到分布式数据库的开发中,通过使用站立会议,回顾会议,结对编程,持续集成,测试驱动,单周迭代等敏捷方法建立了高效的快速反馈系统,例如:目前可以实现2个月左右时间高质量合并PostgreSQL内核一个大版本近2000多个commits
2 Greenplum市场地位
1、经典数据分析领域排名第三
Greenplum在经典数据分析领域排名第三,仅次于Teradata和Oracle,逻辑数据分析领域排名第四
2、实时数据分析领域排名第四
随着换联网,工业互联网等流行数据分析需求的兴起,实时数据分析能力越来越受重视,Greenplum凭借卓越的性能,在此领域排名和Oracle Exadata并列第四
3、前十唯-一开源
Greenplum是全球十大经典和实时数据分析产品中唯-一的开源数据库,这就意味着如果选择开源,前十名中别无选择,仅此一家。
4、一直被模仿,从来未超越
Greenplum是首-个商业开源MPP数据库,据中国信通院研究院数据,参与信通院评测的14款数据库43%都是基于Greenplum的。
3 Greenplum架构设计3.1 Scale up架构
3.2 Greenplum架构图
3.3 Greenplum架构组成
3.3.1 Master Hosts功能1、系统入口点
2、数据库监听器进程
3、处理所有用户连接
4、创建查询计划
5、系统管理工具
6、不包含用户数据
3.3.2 Interconnect功能1、Greenplum数据库连接层
2、元组重新清洗和运输
3、1GB/10GB/20GB网络基础建施
4、私有LAN配置
3.3.3 Segment Hosts功能1、每个主机包括用户数据的一部分
2、每个都有自己的CPU,磁盘和内存(Shared Nothing)
3、用户无法直接访问
4、所有客户端链接都通过Master进入
5、数据库侦听进程侦听来自于主服务器的链接
3.4 Greenplum DB真正完全无共享的MPP数据库
1、真正的完全无共享的并行处理架构支持工业标准X86服务器
2、数据跨越所有节点均匀分布,所有节点以并行方式工作,支持PB级以上的海量储存处理。
3、每个Rack(16节点)每小时16TB加载性能
4、集群以搭积木方式横向扩展,目前国内客户单一集群200个节点左右。
4 Greenplum机器选型4.1 机器选型一般的配置
磁盘配置注意事项 1、留出2块为Hot Spare盘
2、剩下22块盘分为两组并做Raid 5
3、每个RAID组的条带大小都为256K,写cache策略为’FORCE WRITE BACK’,读磁盘策略设置为’READ AHEAD’。
网络配置注意事项 1、网卡配置建议采用双网卡绑定模式,采用Mode4,支持802.3ad协议,实现动态链路聚合,Active-Active方式,同时需要交换机的链路聚合LACP方式配合支持。
2、千兆交换机仅用于管理。
3、万兆交换机用于集群内部节点通信。
5 Greenplum安装部署5.1 系统准备-储存1、GP仅支持XFS文件系统
2、如果共享储存使用块设备储存提供给运行Greenplum数据库的服务器享,并且挂载到XFS问价系统,则网络或共享储存支持Greenplum数据库,不支持网络伟岸系统(NFS)
3、Greenplum数据库不直接支持共享储存的其他功能(如重复数据消除或复制),但只要不干预Greenplum数据库的预期操作,就可以在储存供应商的纸下使用这些功能。
4、Greenplum数据库可以部署在虚拟化系统中,前提使用块设备储存,并且可以挂载为XFS文件系统。
警告:在超融合(HCI)上运行Greenplum数据库存在性能,可伸缩和稳定性发蔫的已知问题,不建议将其作为挂件Greenplum数据库的可伸缩解决方案。
5.2 容量估算计算可用磁盘容量1、磁盘容量:disk_size * number_of_disks2、计算Raid 后及格式化后容量:(raw_capacity * 0.9 ) * number_of_actual_disks3、性能-佳容量:formatted_disk_space * 0.7
4、配置Mirror及临时空间可用容量:( 2 *U ) + U/3 = usable_disk_space5、压缩比:3:1计算用户数据大小1、Page Overhead2、Row Overhead3、Attribute Overhead4、Indexes计算元数据和日志大小1、System Metadata2、Write Ahead Log ( 2 * cheakpoint_segment + 1 )3、Database Log Files4、Command Center Data
5.3 禁用SELinux and Firewall1、禁用SELinux/etc/selinux/config file(As root)SELINUX=disabled2、禁用防火墙/sbin/chkconfig iptables off3、Disable firewalldsystemctl stop firewalld.servicesystemctl disable firewalld.service5.4 时钟设置1、配置NTPon the master host:server xx.xx.xx.xxOn each segment host:server mdw preferserver smdwOn the standby master host:server mdw preferserver xx.xx.xx.xx2、验证NTPgpssh -f hostfile_gpssh_allhosts -v -e ‘ntpd’5.5 修改系统资源限制1、修改/etc/security/limits.conf* soft nofile 1048576* hard nofile 1048576* soft nproc 1048576* hard nproc 10485762、修改/etc/security/limits.d/90-nproc.conf file(RHEL/CentOS 6) /etc/security/limits.d/20-nproc.conf file(RHEL/CentOS 7)* soft nproc 1048576* hard nproc 1048576* soft nofile 1048576* hard nofile 10485765.6 磁盘I/O 及其他参数1、挂载XFS文件系统rw,nodev,noatime,nobarrier,inode642、设置read-ahead/sbin/blockdev --setra 16384 devname3、设置I/O调度策略echo deadline > /sys/block/devname/queue/schedulergrubby --update-kernel = ALL --args=”elevator=deadline”4、禁用Transparent Huge Pages(THP)grubby --update-kernel =ALL --args = “transparent_hugepage=never”5、设置RemoveIPC/etc/systemd/logind.confRemoveIPC=no6、设置SSH链接阈值Max Startups 10000:30:200005.7 创建用户1、创建组groupadd -g 599 gpadmin2、创建用户useradd -g gpadmin -u 600 gpadminecho ‘password’ |passwd - gpadmin --stdin5.8 Greenplum软件安装1、商业版https://network.pivotal.io/products/pivotal-gpdb2、开源版https://github.com/greenplum-db/gpdbhttps://github.com/greenplum-db/gpdb/blob/master/README.linux.md5.9 Greenplum 软件安装(简历互信和目录)1、确认GP软件安装成功并使用gpadmin用户登录source /usr/local/greenplum-db/greenplum_path.sh2、确认所有服务器/etc/hosts包含割主机名,并创建一个包含所有主机名的文件all_hosts3、使用gpssh-exkeys工具建立互信gpssh-exkeys -f all_hosts4、使用gpssh工具登录无输入密码提示gpssh -f all_hosts -e ‘-ls $GPHOME’5、在master&standby master 创建数据目录mkdir /data/masterchown gpadmin /data/master
6、在所有segment主机创建数据目录gpssh -f all_segs -e ‘mkdir /data/primary’gpssh -f all_segs -e ‘mkdir /data/mirror’gpssh -f all_segs -e ‘chown /data/primary’gpssh -f all_segs -e ‘chown /data/primary’
5.10 Greenplum 软件安装(校验性能)1、检验Disk I/O性能和内存宽带gpcheckperf -f hostfile_gpcheckperf -r ds -D -d /data/promary -d /data/mirror2、检验网络性能gpcheckperf -f hostfile_gpchecknet_ic -r N -d /tmp > subnet.outgpcheckperf -f hostfile_gpchecknet_ic -r M --duration=3m -d /tmp > checknet.m.log5.11 Greenplum 数据库初始化1、创建数据库初始化文件cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config ~ /gpconfigs/gpinitsystem_config然后编辑~ /gpconfigs/gpinitsystem_config2、运行初始化命令gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem或者gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem -s standby_master_hostname5.12 配置standby
5.13 Master Failover和Restoration
5.14 配置Segment实例镜像
1、镜像是主实例的副本,用于高可用。2、初始化数据库时可以启用3、可使用gpaddmirrors -i config_file(gpaddmirrors -o)4、镜像分布策略分为group和spread5.15 配置环境变量1、Master数据目录MASTER_DATA_DIRECTORY=/data/master/gpseg-12、GP基础目录GPHOME=/usr/local/greenplum-db3、默认登录数据库名PGDATABASE=edw4、默认登录端口PGPORT=54325、GP环境变量source the /usr/local/greenplum-db/greenplum_path.sh6 Greenplum使用技巧6.1 性能测试参考值
IO读的性能3561.67MB/sIO写的性能2808.42MB/s网络接受发送2237.13 Tx6.2 日志输出与查看1、-D --debug或-v --verbose 详细日志输出2、GP命令中利用print函数打印变量值3、$MASTER_DATA_DIRECTORY/pg_log/startup.log4、$MASTER_DATA_DIRECTORY/pg_log/*.csv6.3 程序调试监控工具安装常用查看工具stracepstatgcoregdbnmonnetperfnetserver
GP提供的命令packcoregpmt
gpcc6.4 常见问题1、切换环境变量su - 2、RH 6 / Cents 6 防火墙禁掉后服务器重启后又Activechkconfig libvirtd off3、磁盘读写性能vm.dirty_background_bytes = 1610612736 # 1.5GBvm.dirty_bytes = 4294967296 # 4GB
本文来源:https://blog.csdn.net/xfg0218/article/details/108239337