greenplum6.7运维手册

greenplum6.7运维手册

一.数据库运维

1.数据库状态维护

包含数据库启动、停止、更新配置命令,通常是数据库整体down掉或者修改数据库的配置参数时使用
启动

gpstart

重启 参数的改变需要重启数据库
调用的是pg_hba.conf

gpstop -r

加载变更的配置 session级别的会话不需要重启数据库
调用的是postgresql.conf

gpstop -u  

启用维护模式

gpstart -m

链接到主节点维护

PGOPTIONS='-c gp_session_role=utility' psql template1

结束维护

gpstop -m

关闭数据库

gpstop

快速关闭gp,会kill客户端

gpstop -M fast

2.节点状态维护

当数据库性能出现问题时可以用来排查运行的节点是否出现问题
使用gpstate可以查看当前运行节点的状态
查看全部的运行节点状态

gpstate -s

查看运行的mirror状态

gpstate -m

查看运行的standby状态

gpstate -f

或者执行SQL:select * from gp_segment_configuration order by role,content;

3.恢复down掉的节点

当发现有节点挂掉时可以采用此方法恢复,单纯重启数据库不会恢复down掉的节点
首先产生一个恢复的配置文件 : gprecoverseg -o ./recov
其次,执行 gprecoverseg -i ./recov进行恢复

4.greenplum日志目录

当数据库出现问题时,可以进入相应的节点目录查看日志进行问题的排查

路径 描述
/home/gpadmin/gpadminlogs/ * gp的日志文件主目录,每个节点都有
/home/gpadmin/gpadminlogs/gpstart_date.log gp启动日志
/home/gpadmin/gpadminlogs/gpstop_date.log gp停止日志
/home/gpadmin/gpadminlogs/gpsegstart.py_idb * gpadmin_date.log Segment启动日志
/home/gpadmin/gpadminlogs/gpsegstop.py_idb * gpadmin_date.log Segment停止日志
/data/master/gpseg-1/pg_log_startup.log 实例启动日志
/data/master/gpseg-1/gpperfmon/logs/gpmon. * .log gpperfmon日志
/data/mirror/gpseg-1/pglog/*.csv 镜像segment日志
/data/primary/gpseg-1/pglog/*.csv 主segment日志
/home/log/messages 全局Linux系统消息

二.数据库配置

1.使用gpconfig优化数据库

用于查看数据库配置和修改数据库配置,调整好后不宜频繁修改
此方式等同于修改Master节点中$MASTER_DATA_DIRECTORY/postgresql.conf配置文件和$SEGMENT_DATA_DIRECTORY/postgresql.conf配置文件,都属于系统级别的参数修改
使用方法
查看参数:

gpconfig -s [参数]

修改参数

gpconfig -c [参数] -v [Segment] -m [Master]

修改完参数后需要重启数据库才能使参数生效

gpstop -r

例如
配置最大连接数

gpconfig -s max_connections
gpconfig -c max_connections -v 3000 -m 1500
gpstop -r

详细全部参数:http://docs.greenplum.org/6-4/ref_guide/config_params/guc_category-list.html
常用参数:

name desc 计算公式
max_connections 最大连接数,Segment建议设置成Master的5-10倍。
max_prepared_transactions 这个参数只有在启动数据库时,才能被设置。它决定能够同时处于prepared状态的事务的最大数目(参考PREPARE TRANSACTION命令)。如果它的值被设为0。则将数据库将关闭prepared事务的特性。它的值通常应该和max_connections的值一样大。每个事务消耗600字节(b)共享内存
gp_resqueue_priority_cpucores_per_segment master和每个segment的可以使用的cpu个数,每个segment的分配线程数;
max_statement_mem 设置每个查询最大使用的内存量,该参数是防止statement_mem参数设置的内存过大导致的内存溢出.
statement_mem 设置每个查询在segment主机中可用的内存,该参数设置的值不能超过max_statement_mem设置的值,如果配置了资源队列,则不能超过资源队列设置的值。
gp_vmem_protect_limit 控制了每个segment数据库为所有运行的查询分配的内存总量。如果查询需要的内存超过此值,则会失败。 gp_vmem = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.7 gp_vmem_protect_limit = gp_vmem / acting_primary_segments
gp_statement_mem 服务器配置参数 gp_statement_mem 控制段数据库上单个查询可以使用的内存总量。如果语句需要更多内存,则会溢出数据到磁盘。
shared_buffers 只能配置segment节点,用作磁盘读写的内存缓冲区,开始可以设置一个较小的值,比如总内存的15%,然后逐渐增加,过程中监控性能提升和swap的情况。 > 16K * max_connections
effective_cache_size
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值