本项目是通过 Ansible-Playbook 剧本,自动化部署安装 GreenPlum 数据仓库。 版本是:v1.1 This project uses ansible-playbook script to perform automated deployment and installation of greenplus data warehouse. version: v1.1
软件名称 | 软件版本 |
---|---|
greenplum-db | db v5.10.0 |
greenplum-cc-web | gpcc v4.3.0 |
序号 | ip地址 | 主机名 | 内存 | 系统版本 | 内核版本 |
---|---|---|---|---|---|
1 | 192.168.61.61 | gpmaster61 | 16Gb | CentOS 7.5.1804 | 3.10.0-862.9.1.el7.x86_64 |
2 | 192.168.61.62 | gpsegment62 | 16Gb | CentOS 7.5.1804 | 3.10.0-862.9.1.el7.x86_64 |
3 | 192.168.61.63 | gpsegment63 | 16Gb | CentOS 7.5.1804 | 3.10.0-862.9.1.el7.x86_64 |
4 | 192.168.61.64 | gpsegment64 | 16Gb | CentOS 7.5.1804 | 3.10.0-862.9.1.el7.x86_64 |
/usr/bin/bash 01_base_gpdb.yml
/usr/bin/bash 02_deploy_gpdb.yml
http://192.168.61.61:28080
# 用户/密码:gpmon/gpmon
/playbook/greenplum/
├── 01_base_gpdb.yml # 基础环境部署脚本(需要重启)
├── 02_deploy_gpdb.yml # 部署 GreenPlum 脚本
├── ansible.cfg # GreenPlum Ansible 配置文件
├── hosts # 部署主机列表
├── LICENSE
├── README.md
├── remove_gpdb.yml # 清理 GreenPlum 脚本
└── roles
├── base_gpdb
│ ├── files
│ │ ├── 20-nproc.conf
│ │ ├── create_hosts.sh
│ │ ├── gpdb_env.sh
│ │ ├── hosts # 根据需求修改
│ │ ├── limits.conf
│ │ ├── sysctl.conf
│ │ └── update_hosts.sh
│ ├── meta
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ └── templates
│ ├── blockdev-setra-sdb
│ ├── blockdev-setra-sdb.service
│ ├── disable-thp.service
│ └── disable-transparent-hugepages
├── greenplum
│ ├── defaults
│ │ └── main.yml
│ ├── files
│ │ ├── all_nodes # 根据需求修改
│ │ ├── create_all.sh
│ │ ├── greenplum-cc-web.tar.gz
│ │ ├── greenplum-db.tar.gz
│ │ ├── init_gpdb.sh
│ │ ├── key.tar.gz
│ │ ├── seg_nodes # 根据需求修改
│ │ └── upgrade_seg.sh
│ ├── meta
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ │ ├── bash_profile.j2
│ │ └── gpinitsystem_config.j2
│ └── vars
│ └── main.yml
└── system_env
├── files
│ ├── audit_shell.sh
│ ├── bashrc
│ ├── centos7-ali.repo
│ ├── epel-release-latest-7.noarch.rpm
│ ├── hosts # 根据需求修改
│ ├── resolv.conf
│ └── sshd_config
└── tasks
└── main.yml
16 directories, 41 files
命令 参数 | 作用 |
---|---|
gpstart -a | 快速启动 |
gpstart -d | 指定数据目录(默认值:$MASTER_DATA_DIRECTORY) |
gpstart -q | 在安静模式下运行。命令输出不显示在屏幕,但仍然写入日志文件。 |
gpstart -m | 以维护模式连接到Master进行目录维护。例如:$ PGOPTIONS='-c gp_session_role=utility' psql postgres |
gpstart -R | 管理员连接 |
gpstart -v | 显示详细启动信息 |
命令参数 | 作用 |
---|---|
gpstop -a | 快速停止 |
gpstop -d | 指定数据目录(默认值:$MASTER_DATA_DIRECTORY) |
gpstop -m | 维护模式 |
gpstop -q | 在安静模式下运行。命令输出不显示在屏幕,但仍然写入日志文件。 |
gpstop -r | 停止所有实例,然后重启系统 |
gpstop -u | 重新加载配置文件 postgresql.conf 和 pg_hba.conf |
gpstop -v | 显示详细启动信息 |
gpstop -M fast | 快速关闭。正在进行的任何事务都被中断。然后滚回去。 |
gpstop -M immediate | 立即关闭。正在进行的任何事务都被中止。不推荐这种关闭模式,并且在某些情况下可能导致数据库损坏需要手动恢复。 |
gpstop -M smart | 智能关闭。如果存在活动连接,则此命令在警告时失败。这是默认的关机模式。 |
gpstop --host hostname | 停用segments数据节点,不能与-m、-r、-u、-y同时使用 |
命令 参数 | 作用 |
---|---|
gpstate -b | 显示简要状态 |
gpstate -c | 显示主镜像映射 |
gpstart -d | 指定数据目录(默认值:$MASTER_DATA_DIRECTORY) |
gpstate -e | 显示具有镜像状态问题的片段 |
gpstate -f | 显示备用主机详细信息 |
gpstate -i | 显示GRIPLUM数据库版本 |
gpstate -m | 显示镜像实例同步状态 |
gpstate -p | 显示使用端口 |
gpstate -Q | 快速检查主机状态 |
gpstate -s | 显示集群详细信息 |
gpstate -v | 显示详细信息 |
命令参数 | 作用 |
---|---|
gpactivatestandby -d 路径 | 使用数据目录绝对路径,默认:$MASTER_DATA_DIRECTORY |
gpactivatestandby -f | 强制激活备份主机 |
gpactivatestandby -v | 显示此版本信息 |
命令参数 | 作用 |
---|---|
gpinitstandby -s 备库名称 | 指定新备库 |
gpinitstandby -D | debug 模式 |
gpinitstandby -r | 移除备用机 |
命令参数 | 作用 |
---|---|
gprecoverseg -a | 快速恢复 |
gprecoverseg -i | 指定恢复文件 |
gprecoverseg -d | 指定数据目录 |
gprecoverseg -l | 指定日志文件 |
gprecoverseg -r | 平衡数据 |
gprecoverseg -s | 指定配置空间文件 |
gprecoverseg -o | 指定恢复配置文件 |
gprecoverseg -p | 指定额外的备用机 |
gprecoverseg -S | 指定输出配置空间文件 |
pg_dump -U gpadmin -Fc chinadaas > chinadaas.dump
pg_restore -U gpadmin -d chinadaas chinadaas.dump > chinadaas_dump.txt 2>&1
pg_dump -U gpadmin -Ft chinadaas >chinadaas.tar
pg_restore -U gpadmin -d chinadaas chinadaas.tar > chinadaas_tar.txt 2>&1
命令名称 | 用法 |
---|---|
createdb | 创建一个新数据库 |
createlang | 定义一种新的过程语言 |
createuser | 定义一个新的数据库角色 |
dropdb | 移除一个数据库 |
droplang | 移除一种过程语言 |
dropuser | 移除一个角色 |
psql | PostgreSQL交互式终端 |
reindexdb | 对一个数据库重建索引 |
vacuumdb | 对一个数据库进行垃圾收集和分析 |
CREATE USER 用户名 WITH PASSWORD '密码'
alter user gpadmin encrypted password 'gpadmin';
CREATE SCHEMA myschema;
DROP SCHEMA myschema;
psql -c "select * from pg_stat_activity;"
select pg_cancel_backend(客户端进程ID);
如果无法杀掉则使用
select pg_terminate_backend(客户端进程ID);
psql -c "select pg_size_pretty(pg_database_size('test'));"
psql -c "select pg_size_pretty(pg_relation_size('schema.test'));"
select relname from pg_class t where t.relname like 'ods%';
select relname from pg_class t where t.relname like 'kn%';
select gp_segment_id,count(*) from test group by 1 ;
SELECT dbid, content, address, port, replication_port, fselocation as datadir FROM gp_segment_configuration, pg_filespace_entry WHERE dbid=fsedbid ORDER BY dbid;
select * from gp_segment_configuration order by 1;
# 定期使用回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要
Vacuum analyze tablename
select * from pg_stat_activity where waiting ='t' ORDER BY current_query; select * from pg_stat_activity where waiting ='t' ORDER BY sess_id;
select * from pg_stat_activity where waiting ='f' ORDER BY current_query; select * from pg_stat_activity where waiting ='f' ORDER BY sess_id;
select * from pg_tablespace;
select * from pg_filespace;
select * from pg_filespace_entry;
SELECT spcname, fsname,fsedbid,fselocation FROM pg_tablespace pgts, pg_filespace pgfs,pg_filespace_entry pgfse WHERE pgts.spcfsoid=pgfse.fsefsoid AND pgfse.fsefsoid=pgfs.oid ORDER BY 1,3;
# 控制写到服务器日志里的信息的详细程度。有效值是 DEBUG5, DEBUG4,DEBUG3,DEBUG2, DEBUG1,INFO,NOTICE, WARNING ,ERROR,LOG, FATAL,和 PANIC。 每个级别都包含它后面的级别。越靠后的数值发往服务器日志的信息越少。 缺省是 NOTICE。请注意 LOG 和 client_min_messages 里面的同名级别优先级不同。 只有超级用户可以修改这个设置。[]()
show log_min_messages;
# 这个选项控制那些信息发送到客户端。 有效的数值是 DEBUG5,DEBUG4, DEBUG3,DEBUG2, DEBUG1,LOG,NOTICE, WARNING 和 ERROR。 每个级别包含所有它后面的级别,级别越靠后,发送的信息越少。 缺省是 NOTICE。这里的 LOG 和 log_min_messages 里面的有不同的级别。
show client_min_messages;
select pg_start_backup('backup baseline');
select pg_stop_backup();
show all
select EXTRACT(week from TIMESTAMP '2018-05-11');