本系统大体分为三个部分Master/Segment/Client:

  1. Master和Segment都是一个单独的PostgrepSQL数据库。每一个都有自己单独的一套元数据字典。
  2. Segment节点与Master节点的通讯,通过万兆网卡组成的内部网络连接(InterConnect)。
  3. Client一般只能与Master节点进行交互。m数据库说明

1. 统一分析处理

可以在同一个并行数据流引擎上执行所有查询和分析(SQL、MapReduce、R等)操作,从而允许分析人员、开发人员和统计人员使用同一个基础构架进行数据分析。

  1. 千万亿字节规模的数据加载操作

高性能的并行数据装载器可以在所有节点上同步执行操作,装载速度超过4.5TB/小时。

  1. 随地访问数据 

不管数据的位置、格式或存储介质如何,都可以从数据库向外部数据源执行查询操作,并行向数据库返回数据。

  1. GP 服务器地址

账号: monitor

密码: monitor

1:内存监控

命令: free

监控项: 第二行第二列used数值 比 第一行第一列total数值(图中为 253728/3839412)

阀值: 90% (0.9)

提示信息: 当前内存占用过高,会导致GreenPlum性能大减,请及时处理。

2磁盘监控

命令: iostat –x 1

监控项: %util

阀值: 70%(0.7)

提示信息: 当前磁盘使用占比过高,可能会造成磁盘瓶颈,请及时处理。

 

3:CPU性能监控

命令: Top

监控项: 第三行Cpu(s)

阀值: 80%(0.8)

提示信息: 当前CPU使用率过高,请及时检查并处理

4:Standby master的同步状态

命令:gpstate -f

监控项: Sync state

阀值: sync 为正常,其他为异常

提示信息: Standby master同步状态异常,请及时处理

5:Primary,Mirror Segment同步状态监控

命令: gpstate -m

监控项: Data Status

阀值: Synchronized 为正常,其他为异常

提示信息: Primary,Mirror Segment 同步状态异常,请及时处理  

 

6监控SQL运行时常

命令:select*from pg_stat_activity order by query_start

监控项: query_start - 当前时间, current_query

阀值: query_start - 当前时间 > 三小时 并且 current_query 有sql语句(不是IDLE)

提示信息: Sql运行时间过长,请查看Sql并处理

7监控数据量膨胀比较大的表

命令: select * from gp_toolkit.gp_bloat_diag;

监控项: 查询结果是否有值

阀值: 如果无结果,正常;如果返回结果,异常。

提示信息: (将返回结果以表格形式写入提示信息中,并在第二行写如下语句)

请及时处理数据量膨胀较大的表,处理语句如下:

 在线处理:vacuum table_name。

 离线处理: vacuum full table_name。

 

8事务ID号监控

命令:

select datname,age,datallowconn from (select datname,age,datallowconn,row_number() over(partition by datname order by age desc) from (select datname,age(datfrozenxid),datallowconn from pg_database union all select datname,age(datfrozenxid),datallowconn from gp_dist_random('pg_database'))t)p where row_number=1 order by age DESC;

 

监控项:age项相加

阀值:age项相加不超过6亿。

提示信息: 当前事务ID过多,请在数据库执行  VACUUM FREEZE DBNAME 操作

GP age过大 处理流程

1. 做vaccum freeze 发现并不能起作用

2.  停机修改GP参数gp_vmem_protect_limit, 对DB做vaccum freeze发现除过master节点外的所有segment age降幅明显,但是master依然很高

3. 针对DB中age过大的表一个一个做vaccum freeze, 发现age 降幅明显,问题解决