Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Snova运维篇(一):基础维护工具和命令

Snova运维篇(一):基础维护工具和命令

原创
作者头像
snova-最佳实践
修改于 2019-12-27 04:02:51
修改于 2019-12-27 04:02:51
71400
代码可运行
举报
运行总次数:0
代码可运行

本节主要从基础维护工具和命令开始逐步深入GP集群的维护工作。

目录:

  1. 启停数据库
  2. 访问数据库


基本概念:

JDBC

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口

ODBC

ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API(应用程序编程接口)方法来访问数据库管理系统(DBMS)。


1.启停数据库

gpstart

/usr/local/greenplum-db/bin/gpstart

gpstop

/usr/local/greenplum-db/bin/gpstop

  • 启动Greenplum数据库

gpstart工具来启动一个已经由gpinitsystem工具初始化好但已经被gpstop工具停止的Greenplum数据库系统

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstart
20191224:14:52:37:011410 gpstart:gp-master:gpadmin-[INFO]:-Starting gpstart with args:
20191224:14:52:37:011410 gpstart:gp-master:gpadmin-[INFO]:-Gathering information and validating the environment...
20191224:14:52:37:011410 gpstart:gp-master:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:14:52:37:011410 gpstart:gp-master:gpadmin-[INFO]:-Greenplum Catalog Version: '301705051'
20191224:14:52:37:011410 gpstart:gp-master:gpadmin-[INFO]:-Starting Master instance in admin mode
20191224:14:52:38:011410 gpstart:gp-master:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20191224:14:52:38:011410 gpstart:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:14:52:38:011410 gpstart:gp-master:gpadmin-[INFO]:-Setting new master era
20191224:14:52:38:011410 gpstart:gp-master:gpadmin-[INFO]:-Master Started...
20191224:14:52:39:011410 gpstart:gp-master:gpadmin-[INFO]:-Shutting down master
20191224:14:52:40:011410 gpstart:gp-master:gpadmin-[INFO]:---------------------------
20191224:14:52:40:011410 gpstart:gp-master:gpadmin-[INFO]:-Master instance parameters
20191224:14:52:40:011410 gpstart:gp-master:gpadmin-[INFO]:---------------------------
  • 重启gp

停止Greenplum数据库系统然后重新启动它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstop -r
20191224:14:54:52:011895 gpstop:gp-master:gpadmin-[INFO]:-Starting gpstop with args: -r
20191224:14:54:52:011895 gpstop:gp-master:gpadmin-[INFO]:-Gathering information and validating the environment...
20191224:14:54:52:011895 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20191224:14:54:52:011895 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:14:54:52:011895 gpstop:gp-master:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:14:54:52:011895 gpstop:gp-master:gpadmin-[INFO]:---------------------------------------------
20191224:14:54:52:011895 gpstop:gp-master:gpadmin-[INFO]:-Master instance parameters
  • 重载配置文件,系统不中断
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstop -u
20191224:14:56:52:012449 gpstop:gp-master:gpadmin-[INFO]:-Starting gpstop with args: -u
20191224:14:56:52:012449 gpstop:gp-master:gpadmin-[INFO]:-Gathering information and validating the environment...
20191224:14:56:52:012449 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20191224:14:56:52:012449 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:14:56:52:012449 gpstop:gp-master:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:14:56:52:012449 gpstop:gp-master:gpadmin-[INFO]:-Signalling all postmaster processes to reload
  • 以维护模式启动master

慎用此模式,生产环境不支持此模式,因为如果是启用了HA的话,有可能造成脑裂。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstart -m
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[INFO]:-Starting gpstart with args: -m
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[INFO]:-Gathering information and validating the environment...
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[INFO]:-Greenplum Catalog Version: '301705051'
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[WARNING]:-****************************************************************************
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[WARNING]:-Master-only start requested in a configuration with a standby master.
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[WARNING]:-This is advisable only under the direct supervision of Greenplum support.
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[WARNING]:-This mode of operation is not supported in a production environmentand
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[WARNING]:-may lead to a split-brain condition and possible unrecoverable dataloss.
20191224:15:01:40:013480 gpstart:gp-master:gpadmin-[WARNING]:-********************************************************************
  • 停止gp

gpstop工具可以停止或者重启Greenplum数据库系统,它总是运行在Master主机上,gpstop会停止系统中所有的postgres进程,包括Master和所有的Segment实例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstop
20191224:15:08:19:014772 gpstop:gp-master:gpadmin-[INFO]:-Starting gpstop with args:
20191224:15:08:19:014772 gpstop:gp-master:gpadmin-[INFO]:-Gathering information and validating the environment...
20191224:15:08:19:014772 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20191224:15:08:19:014772 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:15:08:19:014772 gpstop:gp-master:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:15:08:19:014772 gpstop:gp-master:gpadmin-[INFO]:---------------------------------------------
20191224:15:08:19:014772 gpstop:gp-master:gpadmin-[INFO]:-Master instance parameters

使用-M fast选项可以在关闭前回滚所有正在进行中的事务并且中断所有连接。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstop -M fast
20191224:15:10:04:015092 gpstop:gp-master:gpadmin-[INFO]:-Starting gpstop with args: -M fast
20191224:15:10:04:015092 gpstop:gp-master:gpadmin-[INFO]:-Gathering information and validating the environment...
20191224:15:10:04:015092 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20191224:15:10:04:015092 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:---------------------------------------------
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:-Master instance parameters
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:---------------------------------------------
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:-   Master Greenplum instance process active PID   = 14703
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:-   Database                                       = template1
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:-   Master port                                    = 5432
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:-   Master directory                               = /data/master/gpseg-1
20191224:15:10:05:015092 gpstop:gp-master:gpadmin-[INFO]:-   Shutdown mode                                  = fast

2.访问数据库

  • 建立会话

$PGAPPNAME

应用名称 默认psql

$PGDATABASE

数据库名 默认--postgres

$PGHOST

主机名

$PGPORT

端口 默认5432

$PGUSER

数据库用户名

  • 支持的客户端应用

命令行接口 psql

标准数据库应用程序接口 JDBC+ODBC

使用ODBC和JDBC等标准数据库接口的客户端工具

  • gp自带客户端应用
  • psql连接
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ psql -d gpdatabase -h master_host -p 5432 -U gpadmin
$ psql gpdatabase
$ psql postgres
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ psql komablog
psql (8.3.23)
Type "help" for help.

komablog=# select * from  users limit 2;
 id | player | score | team
----+--------+-------+------
  1 | 库里   |  28.3 | 勇士
  3 | 阿杜   |  25.6 | 勇士
  • 使用PgBouncer连接池

PgBouncer工具管理用于PostgreSQL和Greenplum数据库连接的连接池。数据库连接池是一种数据库连接的缓存,在大量连接情况下, 一般会在数据库和应用程序之间配置 pgbouncer,pgbouncer 可以配置在数据库主机上,也可以配置在 单独一台服务器上。

PgBouncer的特点 

    a.内存消耗低(默认为2k/连接),因为Bouncer不需要每次都接受完整的数据包 

    b.可以把不同的数据库连接到一个机器上,而对客户端保持透明 

    c.支持在线的重新配置而无须重启 

  • 驱动接口

API

PostgreSQL驱动

下载链接

ODBC

psqlODBC

https://odbc.postgresql.org/.

JDBC

pgjdbc

https://jdbc.postgresql.org/

Perl DBI

pgperl

http://search.cpan.org/dist/DBD-Pg/

Python DBI

pygresql

http://www.pygresql.org/

libpq C Library

libpq

https://www.postgresql.org/docs/8.3/static/libpq.html

  • 常见连接问题

在Greenplum的Master主机上运行gpstate工具来验证Greenplum数据库系统是否正常运行。

显示gp版本,postgresql版本,primary segment状态,mirror segment状态

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstate
20191224:16:03:11:024757 gpstate:gp-master:gpadmin-[INFO]:-Starting gpstate with args:
20191224:16:03:11:024757 gpstate:gp-master:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:16:03:11:024757 gpstate:gp-master:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6) on x86_64-pc-linux-gnu, compiled by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jul 24 2019 22:51:37'
20191224:16:03:11:024757 gpstate:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:16:03:11:024757 gpstate:gp-master:gpadmin-[INFO]:-Gathering data from segments...
.
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-Greenplum instance status summary
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-----------------------------------------------------
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Master instance                                = Active
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Master standby                                 = gp-standby
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Standby master state                           = Standby host passive
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total segment instance count from metadata     = 2
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-----------------------------------------------------
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Primary Segment Status
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-----------------------------------------------------
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total primary segments                         = 2
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total primary segment valid (at master)        = 2
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total primary segment failures (at master)     = 0
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total number of postmaster.pid files missing   = 0
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total number of postmaster.pid files found     = 2
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs missing    = 0
20191224:16:03:12:024757 gpstate:gp-master:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs found      = 2

默认情况下,Greenplum数据库被配置为在Master和每个Segment上分别允许最多250和750个并发用户连接。导致该限制会被超过的连接尝试将被拒绝。

这个限制由Greenplum数据库Master的postgresql.conf配置文件中的max_connections参数控制。如果用户为Master更改了这个设置,用户还必须在Segment上做出适当的更改。

未完待续;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
Snova运维篇(二):GP集群配置和高可用特性
Greenplum数据的配置文件postgresql.conf位于数据库实例的数据目录之下。
snova-最佳实践
2019/12/24
1.4K0
Snova运维篇(二):GP集群配置和高可用特性
Snova运维篇(七):GP数据迁移和监控
gptransfer会为每个源Segment设置一个命名管道和一个gpfdist进程。这是用于最优数据传输率的配置并且被称为Fast模式。
snova-最佳实践
2019/12/27
2.3K0
Snova运维篇(七):GP数据迁移和监控
Snova基础篇(三):Greenplum集群初始化问题及调试
gpinitsystem 的日志文件。默认路径为 ~/gpAdmin/gpinitsystem_***
snova-最佳实践
2019/12/20
1.8K0
Snova基础篇(三):Greenplum集群初始化问题及调试
GreenPlum 6.19.3 安装部署基础版
Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用sharednothing架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。 本质上讲Greenplum是一个关系型数据库集群,它实际上是由数个独立的数据库服务组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP(Massively Parallel Processing)架构。跟MySQL、Oracle 等关系型数据不同,Greenplum可以理解为分布式关系型数据库。 关于Greenplum的更多信息请访问https://greenplum.org/
AiDBA宝典
2023/04/27
1.7K0
GreenPlum 6.19.3 安装部署基础版
Snova运维篇(八):GP数据库访问管理及认证
Master实例的pg_hba.conf文件控制对Greenplum数据库系统的客户端访问及认证。
snova-最佳实践
2019/12/30
1.1K0
Snova运维篇(八):GP数据库访问管理及认证
在CentOS 8.4中安装GreenPlum 6
https://network.pivotal.io/products/vmware-tanzu-greenplum#/releases/1163282/file_groups/9837
AiDBA宝典
2023/11/22
1.2K0
在CentOS 8.4中安装GreenPlum 6
在Docker中快速体验GreenPlum 6.23.1和gpcc监控工具
环境配置 地址:https://hub.docker.com/repository/docker/lhrbest/greenplum_gpcc/tags?page=1&ordering=last_up
AiDBA宝典
2023/04/27
7260
在Docker中快速体验GreenPlum 6.23.1和gpcc监控工具
在Docker中快速体验GreenPlum 7.0.0
地址:https://hub.docker.com/r/lhrbest/greenplum/tags
AiDBA宝典
2023/08/10
1.3K0
在Docker中快速体验GreenPlum 7.0.0
Greenplum版本升级及小版本升级示例
需要注意的是,gpupgrade 可以进行滚动升级,即升级过程不需要在整个集群中同时执行,而是逐个段进行升级。此外,如果在升级过程中出现任何问题,请参阅 gpupgrade 文档中提供的解决方案,或者向 Greenplum 社区寻求支持。
AiDBA宝典
2023/04/27
3.1K0
Greenplum版本升级及小版本升级示例
Greenplum中检测和恢复故障的master实例
greenplum整个集群是由多台服务器组合而成,任何一台服务都有可能发生软件或硬件故障,我们一起来模拟一下任何一个节点或服务器故障后,greenplumn的容错及恢复方法.
AiDBA宝典
2023/04/27
2K0
Greenplum中检测和恢复故障的master实例
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
GreenPlum 7.0.0正式版已于2023.09.29发布,基于PG 12.12内核版本。
AiDBA宝典
2023/11/16
9560
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
Greenplum集群主机名问题及修复
昨天写了一篇Greenplum数据仓库迁移小记,看起来一起都在计划中,一切都在掌握中,今天早上的时候,统计组的同学反馈说写入GP的时候报了下面的错误。
jeanron100
2018/07/26
1.2K0
GreenPlum管理数据库
在后备Master主机上,移动或者移除数据目录gpseg-1。这个例子移动该目录:
AiDBA宝典
2023/11/16
4090
GreenPlum管理数据库
GreenPlum 6.23.0 安装部署高配版(启用standby master和segment mirror)
可以从 Greenplum 的 GitHub 页面(https://github.com/greenplum-db/gpdb/releases)下载RPM 包,或注册并登录到 Pivotal 公司官网(https://network.pivotal.io/products/vmware-tanzu-greenplum)进行下载。
AiDBA宝典
2023/04/27
2.6K0
GreenPlum 6.23.0 安装部署高配版(启用standby master和segment mirror)
GreenPlum数据库故障恢复测试
环境介绍: Gpdb版本:5.5.0 二进制版本 操作系统版本: CentOS linux 7.0 Master segment: 192.168.1.225/24 hostname: mfsmaster Stadnby segemnt: 192.168.1.227/24 hostname: server227 Segment 节点1: 192.168.1.227/24 hostname: server227 Segment 节点2: 192.168.1.17/24 hostname: server17 Segment 节点3: 192.168.1.11/24 hostname: server11 每个segment节点上分别运行一个primary segment和一个mirror segment
星哥玩云
2022/08/16
8600
GreenPlum数据库故障恢复测试
故障分析 | Greenplum Segment 故障处理
我们知道Greenplum集群由Master Severs和Segment Severs组成。其中故障存在三种类别:Master故障、Segment故障、数据异常。之前我们已经聊过“Master故障”和“数据异常”的处理方式,今天将介绍Segment故障的处理方式。
爱可生开源社区
2023/02/02
2.1K0
docker安装Greenplum
Greenplum是业界最快最高性价比的关系型分布式数据库,它在开源的PostgreSQL的基础上采用MPP架构(Massive Parallel Processing,海量并行处理),具有强大的大规模数据分析任务处理能力。
summerking
2022/10/27
2.3K0
docker安装Greenplum
GreenPlum为master和segment添加镜像
在已经安装的 Greenplum DB ,给 master 节点添加 standby master 节点 。
AiDBA宝典
2023/11/18
5740
GreenPlum为master和segment添加镜像
Greenplum编译安装
Greenplum部署手册 一、环境准备 操作系统 ARM-Neokylin7.6-64bit 安装包 greenplum6.9.1(源码) 设置语言 echo "export LANG=en_US.UTF-8" >> /etc/profile source /etc/profile 编译环境 yum install -y curl-devel bzip2-devel python-devel openssl-devel readline-devel perl-ExtUtils-Embed libxml2
shaonbean
2020/09/22
2K0
GPCC参数metrics_collector配置错误导致GreenPlum启动报错
从启动日志“2023-01-16 12:58:59.465304 CST,,,p8992,th834783360,,,,0,,,seg-1,,,,,"FATAL","58P01","could not access file ""metrics_collector"": No such file or directory",,,,,,,,"internal_load_library","dfmgr.c",202,1 0xbef3fc postgres errstart (elog.c:557)”可以看到应该是metrics_collector的问题,这个值是参数文件postgresql.conf中的shared_preload_libraries的值,用于开启gpcc的指标监控。
AiDBA宝典
2023/04/27
8640
GPCC参数metrics_collector配置错误导致GreenPlum启动报错
相关推荐
Snova运维篇(二):GP集群配置和高可用特性
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验