Greenplum简明使用手册
- 格式:docx
- 大小:16.96 KB
- 文档页数:5
greenplum gdfdist使用手册Greenplum GDFDist是一个用于Greenplum数据库的高速数据传输工具。
它可以在分布式环境中实现数据的快速、可靠的传输和分发。
本手册将详细介绍如何使用GDFDist来实现数据传输和分发的步骤和方法。
1. 安装和配置GDFDist- 下载GDFDist软件包并解压。
- 配置GDFDist的环境变量,确保路径正确设置。
- 配置GDFDist的节点,包括主节点和从节点。
- 配置GDFDist的日志文件路径和日志级别。
2. 数据传输和分发- 创建一个数据分发任务,定义源和目标。
- 指定数据传输的方式,可以选择复制模式或切片模式。
- 使用Greenplum命令行工具连接到数据库。
- 执行数据传输命令,将数据从源传输到目标。
3. 监控和管理任务- 使用GDFDist提供的监控命令来查看任务的状态和进度。
- 使用GDFDist提供的管理命令来启动、停止、删除任务。
- 检查日志文件以查看任何错误或警告信息。
4. 最佳实践和注意事项- 在传输大量数据之前,确保目标节点上有足够的存储空间。
- 维护良好的网络连接以确保数据传输的稳定性和速度。
- 定期备份GDFDist的配置文件和日志文件,以便恢复和故障排除。
总结:通过本手册,您将学习到如何安装、配置和使用Greenplum GDFDist进行数据传输和分发的方法。
了解如何监控和管理任务,并掌握一些最佳实践和注意事项,以确保数据传输的成功和可靠性。
希望本手册能帮助您充分利用Greenplum GDFDist来应对数据分发的需求。
GREENPLUM部署文档Greenplum数据库安装手册目录第一章文档概述 (4)1.1适用范围 (4)1.2文档说明 (4)第二章安装前准备 (5)2.1网络规划 (5)2.2存储空间规划 (5)2.3数据库实例规划 (6)第三章安装介质 (7)3.1R EDHAT (7)3.1.1系统补丁 (7)3.1.2Greenplum安装介质 (7)3.1.3操作系统建议 (8)第四章操作系统准备 (9)4.1修改主机名 (9)4.2修改/ETC/HOSTS文件 (9)4.3关闭相关服务 (11)4.4修改系统参数(R EDHAT) (11)4.4.1修改系统参数/etc/sysctl.conf (12)4.4.2修改系统参数/etc/security/limits.conf (12)4.4.3修改磁盘预读参数 (13)4.4.4修改配置/boot/grub/menu.lst .......................................................... 错误!未定义书签。
4.4.5修改配置/etc/sysconfig/language ..................................................... 错误!未定义书签。
4.5启动IPMI服务 .......................................................................................... 错误!未定义书签。
4.6修改启动配置 ........................................................................................... 错误!未定义书签。
4.7关闭非必要的服务.................................................................................... 错误!未定义书签。
Greenplum 日常简明维护手册1.数据库启动:gpstart常用参数:-a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用访问单个数据实例:PGOPTIONS='-c gp_session_role=utility' psql template1 -p 5432启动某个segment instance :pg_ctl stop/start -D /datadir/取端口号:select * from gp_segment_configuration启动以后会在/tmp/ 下生成一个.lock 隐藏文件,记录主进程号。
2.数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-f:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
连接数,重启3.查看实例配置和状态select * from gp_segment_configuration order by content ;select * from pg_filespace_entry ;主要字段说明:Content:该字段相等的两个实例,是一对P(primary instance)和M(mirror Instance)Isprimary:实例是否作为primary instance 运行Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。
Port:实例运行的端口Datadir:实例对应的数据目录4.gpstate :显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primary instance 和mirror instance 的对应关系-m:只列出mirror 实例的状态和配置信息-f:显示standby master 的详细信息该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
Greenplum使⽤简明⼿册GP服务启停su - gpadmingpstart #正常启动gpstop #正常关闭gpstop -M fast #快速关闭gpstop –r #重启gpstop –u #重新加载配置⽂件登陆与退出Greenplum#正常登陆psql gpdbpsql -d gpdb -h gphostm -p 5432 -U gpadmin#使⽤utility⽅式PGOPTIONS="-c gp_session_role=utility" psql -h -d dbname hostname -p port#退出在psql命令⾏执⾏\q参数查询psql -c 'SHOW ALL;' -d gpdbgpconfig --show max_connections创建数据库 createdb -h localhost -p 5432 dhdw创建GP⽂件系统# ⽂件系统名gpfsdw# ⼦节点,视segment数创建⽬录mkdir -p /gpfsdw/seg1mkdir -p /gpfsdw/seg2chown -R gpadmin:gpadmin /gpfsdw# 主节点mkdir -p /gpfsdw/masterchown -R gpadmin:gpadmin /gpfsdwgpfilespace -o gpfilespace_configgpfilespace -c gpfilespace_config创建GP表空间psql gpdbcreate tablespace TBS_DW_DATA filespace gpfsdw;SET default_tablespace = TBS_DW_DATA;删除GP数据库 gpdeletesystem -d /gpmaster/gpseg-1 -f查看segment配置 select * from gp_segment_configuration;⽂件系统 select * from pg_filespace_entry;磁盘、数据库空间SELECT * FROM gp_toolkit.gp_disk_free ORDER BY dfsegment;SELECT * FROM gp_toolkit.gp_size_of_database ORDER BY sodddatname;⽇志SELECT * FROM gp_toolkit.__gp_log_master_ext;SELECT * FROM gp_toolkit.__gp_log_segment_ext;表描述 /d+ <tablename>表分析 VACUUM ANALYZE tablename;表数据分布 SELECT gp_segment_id, count(*) FROM <table_name> GROUP BY gp_segment_id;表占⽤空间SELECT relname as name, sotdsize/1024/1024 as size_MB, sotdtoastsize as toast, sotdadditionalsize as otherFROM gp_toolkit.gp_size_of_table_disk as sotd, pg_classWHERE sotd.sotdoid = pg_class.oid ORDER BY relname;索引占⽤空间SELECT soisize/1024/1024 as size_MB, relname as indexnameFROM pg_class, gp_toolkit.gp_size_of_indexWHERE pg_class.oid = gp_size_of_index.soioidAND pg_class.relkind='i';OBJECT的操作统计SELECT schemaname as schema, objname as table, usename as role, actionname as action, subtype as type, statime as time FROM pg_stat_operationsWHERE objname = '<name>';锁SELECT locktype, database, c.relname, l.relation, l.transactionid, l.transaction, l.pid, l.mode, l.granted, a.current_queryFROM pg_locks l, pg_class c, pg_stat_activity aWHERE l.relation=c.oidAND l.pid=a.procpidORDER BY c.relname;队列 SELECT * FROM pg_resqueue_status查看指定数据库select pg_size_pretty(pg_database_size('<database_name>'));所有数据库 select datname,pg_size_pretty(pg_database_size(<database_name>)) from pg_database;查看数据库表清单(包括临时表) pg_tables主表与分区表 pg_partitions字段清单 information_schema.columns视图 pg_views字典 schema : information_schemaGP中查询表和视图清单,视图的字段及其类型查询schema_name.view_name的字段及其类型:select a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod) as type,a.attnotnullfrom pg_catalog.pg_attribute a,pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere a.attrelid=c.oidand c.relname='view_name'and a.attnum>0 AND NOT a.attisdroppedand n.oid = c.relnamespaceand n.nspname='schema_name'order by a.attnum查询指定schema下view的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='v'查询指定schema下所有table的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='r'查询指定schema下所有外部表的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='r' and relstorage='x'查询指定schema下所有普通表的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='r' and relstorage in ('h','a');注意,relstorage字段取值“x”表⽰外部表,“h”表⽰heap表,“a”表⽰append-only表,“v”表⽰virtual表。
Greenplum服务器配置参数本文档提供了Greenplum服务器配置参数的详细信息和相关指南。
以下是对每个章节细化的说明。
⒈系统要求确保服务器满足Greenplum的最低系统要求,包括操作系统版本、硬件要求、网络要求等。
⒉安装和配置详细介绍Greenplum的安装和配置步骤,包括安装包、安装过程中的参数配置、必要的环境设置等。
⒊Greenplum集群配置说明如何配置Greenplum集群,包括主节点和从节点的配置、网络设置、节点间通信的参数配置等。
⑴主节点配置提供主节点的配置说明,包括主节点硬件要求、网络配置、操作系统参数调整、Greenplum配置文件的修改等。
⑵从节点配置提供从节点的配置说明,包括从节点硬件要求、网络配置、操作系统参数调整、Greenplum配置文件的修改等。
⒋数据存储配置介绍如何进行数据存储的配置,包括Greenplum的表空间配置、磁盘存储设置、磁盘分区选项等。
⒌性能调优参数列出可供调优的Greenplum性能参数,包括查询优化器的参数、并发执行的参数、资源限制参数等,每个参数的作用和调整策略进行详细说明。
⒍安全配置介绍Greenplum的安全配置选项,包括访问控制、认证方式、SSL配置等。
附件:本文档附带了详细的示例配置文件和脚本供参考。
法律名词及注释:⒈用户许可协议(End User License Agreement,EULA):一种合同,规定了在安装、使用和复制软件时受到的法律限制和要求。
⒉数据保护法(Data Protection Act):一种法律,旨在保护个人隐私,并规定在处理个人数据时应遵守的规定。
Greenplum是基于低成本的开放平台基础上提供强大的并行数据计算性能和海量数据管理能力。
其主要特点是查询速度快、数据装载速度快、批量DML处理快、性能可以随着硬件的添加呈线性增加、拥有非常良好的可扩展性。
主要适用于面向分析的应用,如构建企业级ODS/EDW、数据集市等。
Greenplum主要定位在OLAP领域,例如:数据仓库系统、ODS系统、ACRM系统、历史数据管理系统、电信流量分析系统、移动信令分析系统、SANDBOX自助分析沙箱、数据集市等等。
此外,Greenplum支持行存和列存,对应的是堆表和AO表。
行存以行为形式组织存储,查询的时候需要全表扫描要扫描更多的数据块,压缩比较低,读取任意列的成本不一样,越靠后的列,成本越高。
列存以列为形式组织存储,每列对应一个或一批文件。
读取任一列的成本是一样的,但是如果要读取多列,需要访问多个文件,访问的列越多,开销越大。
压缩比高,读取任意列的成本是一样的,非常适合向量计算、JIT架构。
对大批量数据的访问和统计,效率更高,读取很多列时,由于需要访问更多的文件,成本更高。
总之,Greenplum在大数据计算或分析平台等场景下应用广泛。
如有更多关于Greenplum的问题,建议咨询技术专家或查阅相关技术手册获取帮助。
Greenplum 日常简明维护手册1.数据库启动:gpstart常用参数:-a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用访问单个数据实例:PGOPTIONS='-c gp_session_role=utility' psql template1 -p 5432启动某个segment instance :pg_ctl stop/start -D /datadir/取端口号:select * from gp_segment_configuration 启动以后会在/tmp/ 下生成一个.lock 隐藏文件,记录主进程号。
2.数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-f:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
连接数,重启3.查看实例配置和状态select * from gp_segment_configuration order by content ;select * from pg_filespace_entry ;主要字段说明:Content:该字段相等的两个实例,是一对P(primary instance)和M(mirror Instance)Isprimary:实例是否作为primary instance 运行Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。
Port:实例运行的端口Datadir:实例对应的数据目录4.gpstate :显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primary instance 和mirror instance 的对应关系-m:只列出mirror 实例的状态和配置信息-f:显示standby master 的详细信息该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
GreenPlum数据库集群安装说明及使用手册开心十二月总结****年**月**日目录1体系结构介绍 (4)2安装 (10)2.1安装 (10)2.1.1安装准备 (10)2.1.2安装gp-db (11)2.1.3配置通讯 (13)2.1.4建立数据存储池 (17)2.1.5同步系统时间 (17)2.1.6验证安装是否成功 (17)2.1.7初始化 (17)2.1.8数据库的启停 (18)2.2Master双机热备 (19)2.3Segment节点互备 (20)3GP数据库的使用 (22)3.1pgAdminIII工具 (22)3.1.1安装和第一次使用pgAdminIII (22)3.1.2主窗体 (23)3.1.3导航菜单 (23)3.1.4工具栏介绍 (24)3.1.5数据库与表的创建 (25)3.1.6使用pgAdminIII备份数据库 (25)3.2JDBC配置 (26)3.3GP数据库两个重要概念 (27)3.3.1什么是Schema (27)3.3.2数据分布存储 (28)3.4GP的SQL语法 (28)3.4.1数据加载 (28)3.4.2SQL并行查询 (32)3.4.3聚合函数 (32)3.4.4索引 (32)3.4.5分区 (34)3.4.6函数 (35)4维护数据库 (39)4.1数据库启动gpstart (39)4.2数据库停止gpstop (41)4.3查看实例配置和状态 (41)4.4查看数据库运行状态gpstate (42)4.5查看用户会话和提交的查询等信息 (43)4.6查看数据库、表占用空间 (43)4.7查看数据分布情况 (44)4.8实例恢复gprecoverseg (44)4.9查看锁信息 (44)4.10数据库的备份与恢复 (44)5调优、排错 (44)6附件 (44)6.1DBA常用命令 (44)7Q&A (45)7.1不支持触发器 (45)7.2更新操作中的若干问题 (45)1体系结构介绍Greenplum数据库产品——下一代数据仓库引擎和分析方法Greenplum公司是企业数据云计算解决方案的创始人,为客户提供灵活的数据商业智能和分析方法。
Greenplum 日常维护手册1. 数据库启动:gpstart常用可选参数: -a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-M fast:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
评:-a用在shell里,最多用的还是-M fast。
3. 查看实例配置和状态select * from gp_configuration order by 1 ;主要字段说明:Content:该字段相等的两个实例,是一对P(primary instance)和M(mirrorInstance)Isprimary:实例是否作为primary instance 运行Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。
Port:实例运行的端口Datadir:实例对应的数据目录4. gpstate :显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primary instance 和 mirror instance 的对应关系-m:只列出mirror 实例的状态和配置信息-f:显示standby master 的详细信息-Q:显示状态综合信息该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
评:最开始由于网卡驱动的问题,做了mirror后,segment经常down掉,用-Q参数查询综合信息还是比较有用的。
5. 查看用户会话和提交的查询等信息select * from pg_stat_activity 该表能查看到当前数据库连接的IP 地址,用户名,提交的查询等。
Greenplum 日常简明维护手册1. 数据库启动:gpstart 提示选择Y…常用参数: -a : 直接启动,不提示终端用户输入确认-q : 不希望屏幕输出-m:只启动master 实例,主要在故障处理时使用-R:只启动数据库在受限模式,禁止非超级用户登陆.-y:启动数据,但不启动standby启动完毕可使用gpstate查看数据库状态2. 数据库停止:gpstop 提示选择Y…常用参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-f(-m faster):停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
关闭完毕后可使用gpssh控制所有服务器查看postgres进程是否已经都不存在,下面命令显示为1则表明数据库所有进程已经关闭完毕.gpadmin@dsszbyz-dw6-mst01:~> gpssh -f host_all=> ps -ef|grep postgres |wc -l[ sdw1] 1[sdw2] 1[ mdw] 1[ sdw3] 1[ smdw] 1[ sdw4] 1[ ftp1] 1=>exit3. 登陆数据库:psql登录数据库方式:psql –d 数据库名–u 用户名可以先使用psql -d template1登陆默认实例,然后使用select * from pg_database;查看已经安装的数据库名,然后登陆相应数据库。
退出psql 使用\q.使用应用模式访问单个数据实例():PGOPTIONS='-c gp_session_role=utility' psql template1 -p 54324. 查看实例配置和状态:gpstate常用参数:-c:显示primary instance和mirror instance的对应关系-m:显示mirror的状态-f:显示standby的状态(是否配置,是否同步)-e:显示错误节点的详细信息。
greenplum gdfdist使用手册Greenplum GDFDist 使用手册概述Greenplum GDFDist 是一个用于在 Greenplum 数据库集群中进行分布式数据传输和加载的工具。
它提供了高效、可靠和并行的数据传输功能,能够加速数据导入和导出的过程。
本手册将向您介绍 GDFDist 的安装和配置方法,并提供一些常见的使用示例。
安装和配置1. 安装 GDFDistGDFDist 是作为 Greenplum 数据库分发功能的一部分提供的。
在安装 Greenplum 数据库时,GDFDist 已经被自动包括在内。
确保已正确安装 Greenplum 数据库版本来使用 GDFDist。
2. 配置 GDFDist在开始使用 GDFDist 之前,需要进行一些配置。
打开 Greenplum 数据库配置文件(通常位于 `$MASTER_DATA_DIRECTORY/gpseg-1/postgresql.conf`),找到以下配置项,并根据需要进行修改: - `gp_external_enable`:确保该配置项的值为 `on`,以启用外部表和 GDFDist 功能。
- `gp_external_max_segs`:根据您的集群规模和性能需求,适当调整此配置项的值。
它控制了能使用 GDFDist 进行数据传输的并行进程数量。
完成配置后,重新加载Greenplum 数据库配置文件以使更改生效。
使用示例以下是一些常见的 GDFDist 使用示例,展示了不同场景下如何高效地使用数据传输功能。
1. 从本地文件导入数据到 Greenplum 数据库使用 `COPY` 命令结合 GDFDist,可以将本地文件中的数据快速导入到 Greenplum 数据库中。
示例命令如下:```COPY my_table FROM PROGRAM 'gdfdist -F text -b my_file.txt' WITH (FORMAT CSV, HEADER);```在上述命令中,`my_table` 是指目标表的名称,`my_file.txt` 是指本地文件的路径名。
greenplum基本操作及管理命令第1章系统管理 1.1 GP服务启停 su - gpadmingpstart #正常启动gpstop #正常关闭gpstop -M fast #快速关闭gpstop –r #重启gpstop –u #重新加载配置文件 1.2 登陆 psql gpdbpsql -d gpdb -h gphostm -p 5432 -U gpadmin 1.3 查看segment配置 select * from gp_segment_configuration; 1.4 文件系统 select * from pg_filespace_entry; 1.5 列出所有数据库 psql –l 1.6 行表库最大尺寸一个数据库最大尺寸无限制已存在有32TB 的数据库一个表的最大尺寸 32 TB一行记录的最大尺寸 1.6 TB一个字段的最大尺寸? 1 GB一个表里最大行数无限制一个表里最大列数 250-1600 与列类型有关一个表里的最大索引数量无限制当然实际上没有真正的无限制还是要受可用磁盘空间、可用内存/交换区的制约。
事实上当这些数值变得异常地大时系统性能也会受很大影响。
表的最大尺寸32 TB 不需要操作系统对大文件的支持。
大表用多个 1 GB 的文件存储因此文件系统尺寸的限制是不重要的。
如果缺省的块大小增长到32K 最大的表尺寸和最大列数还可以增加到四倍 1.7 存储空间一个 Postgres 数据库存储一个文本文件所占用的空间最多可能需要相当于这个文本文件自身大小5倍的磁盘空间。
第2章 Psql操作 2.1 创建/删除用户创建用户createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名参数说明[-a]允许创建其他用户相当于创建一个超级用户[-A]不允许此用户创建其他用户[-d]允许此用户创建数据库[-D]不允许此用户创建数据库[-e]将执行过程显示到Shell上[-P]创建用户时同时设置密码[-h 主机名]为某个主机上的Postgres创建用户[-p port]与-h参数一同使用指定主机的端口。
Greenplum安装部署参考⼿册Greenplum安装部署参考⼿册V1.02016年3⽉⽬录第⼀章硬件环境部署 (2)1.1 服务器与机柜 (2)1.2 ⽹络部署 (2)1.2.1服务器⽹络连接 (2)1.2.2⽹卡绑定(bond)推荐模式 (3)1.3 raid及⽂件系统规划 (3)1.3.1 Master服务器配置 (3)1.3.2 Segment服务器配置 (4)第⼆章 GP软件环境部署 (5)2.1 操作系统环境安装部署 (5)2.2.1 BIOS设置开启超线程 (5)2.2.2 安装操作系统基础包 (5)2.2.3 安装系统语⾔ (5)2.2.4 安装系统⼯具包 (6)2.2.5 开发语⾔连接驱动 (8)2.2.6 时区配置 (8)2.2.7 ⽂件系统和分区配置 (9)2.2.8 ⽹卡配置 (10)2.2.9 操作系统安全配置 (11)2.2.10 操作系统⽤户组和⽤户 (13)2.2.11 ⽹络IP配置 (14)2.2.12 对外服务VIP设置 (15)2.2.13 集群NTP服务时钟同步配置 (15)2.2.14 ssh服务参数调整 (15)2.2 操作系统参数设置 (15)2.3 数据库系统安装部署 (18)Greenplum软件安装 (18)数据库初始化 (21)2.6 后续⼯作 (24)第⼀章硬件环境部署1.1服务器与机柜服务器器与机柜的摆放应需要充分考虑机器散热的问题,不建议每个机柜都完全放满。
1.2⽹络部署1.2.1服务器⽹络连接Greenplum集群内部各节点服务器通过独⽴的万兆以太⽹交换机连接,交换机为集群内部私有,配置两台,两台交换机直连,以双活⽅式⼯作。
每台集群内部服务器需配置两个万兆⽹⼝,每个⽹⼝连接⼀个交换机,同时两个万兆⽹⼝以mode4 ⽅式邦定,配置⼀个IP。
如下图所⽰,每台服务器的第⼀张⽹卡都连接到⼀台交换机上,同理另⼀张⽹卡都连接到另⼀台交换机上。
每台服务器的第⼀张⽹卡统⼀连接到⼀台交换机上两台交换机之间也需要互联,双活⽅式⼯作。
Greenplum数据库安装手册目录第一章文档概述 (4)1.1适用范围 (4)1.2文档说明 (4)第二章安装介质 (5)2.1R EDHAT (5)2.1.1系统补丁 (5)2.1.2Greenplum安装介质(参考) (7)2.1.3操作系统建议 (8)第三章安装前准备 (9)3.1网络规划 (9)3.2存储空间规划 (9)3.3数据库实例规划 (10)第四章操作系统准备 (11)4.1修改主机名 (11)4.2修改/ETC/HOSTS文件 (11)4.3关闭相关服务 (13)4.4修改系统参数(R EDHAT) (13)4.4.1修改系统参数/etc/sysctl.conf (13)4.4.2修改系统参数/etc/security/limits.conf (14)4.4.3修改磁盘预读参数 (14)4.4.4修改配置/boot/grub/menu.lst (14)4.4.5修改配置/etc/sysconfig/language (15)4.5修改系统参数(S OLARIS) (15)4.6启动IPMI服务 (15)4.7修改启动配置 (15)4.8关闭非必要的服务 (15)5.1L INUX系统采用XFS文件系统 (17)5.1.1Master 和Standby Master主机 (17)5.1.2Segment 主机 (17)5.2S OLARIS系统采用ZFS文件系统 (17)第六章MASTER安装GREENPLUM (19)6.1运行安装文件 (19)6.2配置HOSTNAME文件(用于建立多机信任) (19)第七章建立多机信任 (23)7.1ROOT用户建立多机信任 (23)7.2建立用户和组 (23)7.3修改GPADMIN用户配置 (23)7.4GPADMIN用户建立多机信任 (24)第八章时钟同步 (25)第九章其他机器安装GREENPLUM (27)9.1方法一(4.0版本以上支持,推荐使用) (27)9.2方法二(4.0版本一下使用) (27)第十章系统检查 (28)10.1参数配置检查 (28)10.2性能检查 (28)10.2.1网络性能检查 (28)10.2.2磁盘性能检查 (28)第十一章初始化数据库 (29)11.1配置文件 (29)11.1.1Greenplum4.x版本 (29)11.1.2Greenplum3.x版本 (30)11.3修改访问权限 (31)第十二章安装PERFORMANCE MONITOR (32)12.1安装P ERFORMANCE M ONITOR数据收集A GENT (32)12.2安装P ERFORMANCE M ONITOR控制台 (32)第十三章附录 (35)13.1多次初始化 (35)13.2安装后修改数据库参数(非必要) (35)13.3安装后数据测试 (36)第一章文档概述1.1 适用范围1、本安装手册描述适用于Greenplum4.0以上版本的安装操作,4.0以下版本安装步骤存在差异。
Greenplum触发器是一种在数据库中的数据发生变化时自动执行的程序,通常用于执行一些特定的操作,如更新数据、插入数据、删除数据等。
下面是一个使用Greenplum触发器的示例用例:假设我们有一个名为"employees"的表,其中包含员工的信息,包括员工ID、姓名、职位和工资。
我们希望在每次插入新员工数据时,自动将新员工的工资乘以一个系数(例如1.1),并将结果存储在另一个名为"adjusted_salary"的列中。
为了实现这个功能,我们可以创建一个触发器。
首先,我们需要创建一个包含触发器代码的存储过程或函数。
例如,我们可以创建一个名为"trigger_employee_salary"的存储过程:```sqlCREATE OR REPLACE FUNCTION trigger_employee_salary() RETURNS trigger AS $$BEGINNEW.adjusted_salary := NEW.salary * 1.1;RETURN NEW;END;$$ LANGUAGE plpgsql;```接下来,我们需要将触发器应用到适当的表上。
在这种情况下,我们需要将其应用于"employees"表上:```sqlCREATE TRIGGER employees_triggerAFTER INSERT ON employees FOR EACH ROW EXECUTE FUNCTION trigger_employee_salary();```以上代码会在每次向"employees"表中插入新数据时触发,并将新员工的工资乘以系数1.1,并将其结果存储在"adjusted_salary"列中。
需要注意的是,触发器通常只在数据库中创建并使用一次,因此它们通常只包含一次性的操作或逻辑。
GreenPlum 使用指南连接数据库psql -d postgres集群部署1.安装依赖库所有节点执行# yum -y install rsync coreutils glib2 lrzsz sysstat e4fsprogs xfsprogs ntp readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl perl-devel perl-ExtUtils* OpenIPMI-tools openldap openldap-devel logrotate python-py gcc-c++ libevent-devel apr-devel libcurl-devel bzip2-devel libyaml-develeasy_install pippip install paramikopip install psutilpip install lockfile2.修改内核参数# vi /etc/sysctl.conf#dev_max_backlog = 2500->10000#add by langke install greenplumkernel.shmmni = 4096kernel.sem = 50100 64128000 50100 1280kernel.msgmni = 2048net.ipv4.conf.all.arp_filter = 1filter.ip_conntrack_max = 655360net.ipv4.tcp_keepalive_probes = 9net.ipv4.tcp_keepalive_intvl = 7vm.overcommit_memory = 2fs.file-max = 7672460fs.aio-max-nr = 1048576上面这个内核参数设置之后影响elasticsearch进程(进程自动退出,报OOM:Native memory allocation (mmap) failed to map 11314593792 bytes for committing reserved memory,可能是vm.overcommit_memory,参数影响)kernel.shmmni = 4096kernel.sem =250 32000 32 128kernel.msgmni = 32768net.ipv4.conf.all.arp_filter = 0net.ipv4.tcp_keepalive_probes = 9net.ipv4.tcp_keepalive_intvl = 75vm.overcommit_memory = 0fs.file-max = 7672460fs.aio-max-nr = 1048576# sysctl -p受内核参数影响kafka java客户端推送数据也受影响,soa_logs队列推送很慢,内核参数一直调整无效,最终迁移kafka节点:所以内核参数最好还是不要修改# rm -f /etc/security/limits.d/90-nproc.conf# vi /etc/security/limits.conf* soft nproc 204800* hard nproc 204800* soft memlock unlimited* hard memlock unlimited设置块设备预读大小/sbin/blockdev --setra 16384 /dev/sda1/sbin/blockdev --setra 16384 /dev/sdb1/sbin/blockdev --setra 16384 /dev/sdc1/sbin/blockdev --setra 16384 /dev/sdd13.初始化安装环境#切换到hadoop用户su hadoopmaster节点:mkdir -p /data/disk1/gp/masterchown -R hadoop /data/disk1/gp/masterchmod 700 /data/disk1/gp/master所有segment 节点:mkdir -p /data/disk1/gp/datamkdir -p /data/disk2/gp/datamkdir -p /data/disk3/gp/datamkdir -p /data/disk4/gp/datamkdir -p /data/disk1/gp/mirrormkdir -p /data/disk2/gp/mirrormkdir -p /data/disk3/gp/mirrormkdir -p /data/disk4/gp/mirrorchown -R hadoop /data/disk1/gp/datachmod -R 700 /data/disk1/gp/data4.安装:./greenplum-db-4.3.9.1-build-1-rhel5-x86_64.bin安装到/opt/17173_install/greenplum-db-4.3.9.1安装完成cd greenplum-db/bin./pg_configcd ..cat greenplum_path.sh添加到用户的环境变量cat greenplum_path.sh >> ~/.bash_profile. ~/.bash_profile创建主机文件,包括所有节点以及主节点本身vi hostsea2sea3sea4sea5sea6交换KEY,master 访问所有的segment不需要输入密码,master pub拷贝到所有的segment authorized_keys,安装过hadoop可以略过gpssh-exkeys -f ./host安装软件到segment hostsgpseginstall -f ./host -u hadoop5.初始化数据库配置文件cp docs/cli_help/gpconfigs/gpinitsystem_config ./chmod 644 ./gpinitsystem_configvi ./gpinitsystem_configdeclare -a DATA_DIRECTORY=(/data/disk1/gp/data /data/disk2/gp/data/data/disk3/gp/data /data/disk4/gp/data)MASTER_HOSTNAME=sea6MASTER_DIRECTORY=/data/disk1/gp/masterMIRROR_PORT_BASE=50000REPLICATION_PORT_BASE=41000MIRROR_REPLICATION_PORT_BASE=51000declare -a MIRROR_DATA_DIRECTORY=(/data/disk1/gp/mirror/data/disk2/gp/mirror /data/disk3/gp/mirror /data/disk4/gp/mirror) DATABASE_NAME=seaMACHINE_LIST_FILE=/opt/17173_install/greenplum-db/host_segment编辑主机文件,不要包含master, standby,除非master,standby节点也需要当segment node使用.vi host_segmentsea2sea3sea4sea5sea6初始化数据库gpinitsystem -c ./gpinitsystem_config6.增加standby一个gp集群只有一个master肯定会让人不放心,还好有备用,当master宕掉后,会自动启用standby作为master,下面来看一下standby怎么添加在standby服务器上执行,sea5作为standbymkdir /data/disk1/gp/masterchown hadoop /data/disk1/gp/master在master服务器上执行gpinitstandby -s sea5中间输入一次Y7.增加mirrormirror就是镜像,也叫数据备份。
GP服务启停su - gpadmingpstart #正常启动gpstop #正常关闭gpstop -M fast #快速关闭gpstop –r #重启gpstop –u #重新加载配置文件登陆与退出Greenplum#正常登陆psql gpdbpsql -d gpdb -h gphostm -p 5432 -U gpadmin#使用utility方式PGOPTIONS="-c gp_session_role=utility" psql -h -d dbname hostname -p port#退出在psql命令行执行\q参数查询psql -c 'SHOW ALL;' -d gpdbgpconfig --show max_connections创建数据库createdb -h localhost -p 5432 dhdw创建GP文件系统# 文件系统名gpfsdw# 子节点,视segment数创建目录mkdir -p /gpfsdw/seg1mkdir -p /gpfsdw/seg2chown -R gpadmin:gpadmin /gpfsdw# 主节点mkdir -p /gpfsdw/masterchown -R gpadmin:gpadmin /gpfsdwgpfilespace -o gpfilespace_configgpfilespace -c gpfilespace_config创建GP表空间psql gpdbcreate tablespace TBS_DW_DATA filespace gpfsdw;SET default_tablespace = TBS_DW_DATA;删除GP数据库gpdeletesystem -d /gpmaster/gpseg-1 -f查看segment配置select * from gp_segment_configuration;文件系统select * from pg_filespace_entry;磁盘、数据库空间SELECT * FROM gp_toolkit.gp_disk_free ORDER BY dfsegment;SELECT * FROM gp_toolkit.gp_size_of_database ORDER BY sodddatname;日志SELECT * FROM gp_toolkit.__gp_log_master_ext;SELECT * FROM gp_toolkit.__gp_log_segment_ext;表描述/d+ <tablename>表分析VACUUM ANALYZE tablename;表数据分布SELECT gp_segment_id, count(*) FROM <table_name> GROUP BY gp_segment_id;表占用空间SELECT relname as name, sotdsize/1024/1024 as size_MB, sotdtoastsize as toast, sotdadditionalsize as otherFROM gp_toolkit.gp_size_of_table_disk as sotd, pg_classWHERE sotd.sotdoid = pg_class.oid ORDER BY relname;索引占用空间SELECT soisize/1024/1024 as size_MB, relname as indexnameFROM pg_class, gp_toolkit.gp_size_of_indexWHERE pg_class.oid = gp_size_of_index.soioidAND pg_class.relkind='i';OBJECT的操作统计SELECT schemaname as schema, objname as table, usename as role, actionname as action, subtype as type, statime as timeFROM pg_stat_operationsWHERE objname = '<name>';锁SELECT locktype, database, c.relname, l.relation, l.transactionid, l.transaction, l.pid, l.mode, l.granted, a.current_queryFROM pg_locks l, pg_class c, pg_stat_activity aWHERE l.relation=c.oidAND l.pid=a.procpidORDER BY c.relname;队列SELECT * FROM pg_resqueue_status;加载(LOAD)数据到Greenplum数据库gpfdist外部表# 启动服务gpfdist -d /share/txt -p 8081 –l /share/txt/gpfdist.log &# 创建外部表,分隔符为’/t’drop EXTERNAL TABLE TD_APP_LOG_BUYER;CREATE EXTERNAL TABLE TD_APP_LOG_BUYER (IP text,ACCESSTIME text,REQMETHOD text,URL text,STATUSCODE int,REF text,name text,VID text)LOCATION ('gpfdist://gphostm:8081/xxx.txt')FORMAT 'TEXT' (DELIMITER E'/t'FILL MISSING FIELDS) SEGMENT REJECT LIMIT 1 percent;# 创建普通表create table test select * from TD_APP_LOG_BUYER;# 索引# CREATE INDEX idx_test ON test USING bitmap (ip);# 查询数据select ip , count(*) from test group by ip order by count(*); gpload# 创建控制文件# 加载数据gpload -f my_load.ymlcopyCOPY country FROM '/data/gpdb/country_data'WITH DELIMITER '|' LOG ERRORS INTO err_countrySEGMENT REJECT LIMIT 10 ROWS;从Greenplum数据库卸载(UNLOAD)数据gpfdist外部表# 创建可写外部表CREATE WRITABLE EXTERNAL TABLE unload_expenses( LIKE expenses )LOCATION ('gpfdist://etlhost-1:8081/expenses1.out','gpfdist://etlhost-2:8081/expenses2.out')FORMAT 'TEXT' (DELIMITER ',')DISTRIBUTED BY (exp_id);# 写权限GRANT INSERT ON writable_ext_table TO <name>;# 写数据INSERT INTO writable_ext_table SELECT * FROM regular_table;copyCOPY (SELECT * FROM country WHERE country_name LIKE 'A%') TO '/home/gpadmin/a_list_countries.out';执行sql文件psql gpdbname –f yoursqlfile.sql或者psql登陆后执行\i yoursqlfile.sqlGreenplum配置优化# 查询参数psql -c'SHOW ALL;' -d gpdbgpconfig--show max_connections# 修改参数配置命令gpconfig-c <parameter name> -v <parameter value>比如:gpconfig-c log_statement -v DDL# 使参数生效gpstop –r# 修改默认搜索路径# 默认dbtestALTERDATABASE dhgp SET search_path TO dbtest;# 设置work_mem 64MBALTERDATABASE dhgp SET work_mem TO 65536;另一种写法:SETwork_mem TO '64MB'# 设置maintenance_work_mem 128MBALTER DATABASEdhgp SET maintenance_work_mem TO 131072; # 设置max_work_mem 4GALTERDATABASE dhgp SET max_work_mem TO 4194304;# 设置statement_memALTERDATABASE dhgp SET statement_mem TO '256MB';# 12G,需要配合修改/etc/sysctl.conf kernel.shmmaxALTERDATABASE dhgp SET effective_cache_size TO 1572864;# 在各个节点的postgres.conf文件中配置,master和每个segment的可以使用的cpu个数Master:gp_resqueue_priority_cpucores_per_segment 8Segment:2# checkpoint_segments32-256(512MB-4GB)。