Greenplum闰秒故障的分析解决

2015年7月1日上午,国家授时中心增加了7:59:60这个时间来处理闰秒问题。对于使用网络时间协议进行时钟同步的操作系统而言,实在是不应该有什么问题才对,因为即使没有这多出的一秒,系统时钟不准个几秒也是常有的事儿啊。但是部分Linux(比如RHEL 6.2 64bit)上的部分应用(比如Greenplum数据库,也包括java和mysql这些)需要读取硬件时钟和系统时钟,这二者不一致时,就跑不动,可恶的是,它还不挂,就只是慢。。。

故障现象

  • Greenplum上的任务莫名其妙的变慢,平均执行时间加倍。
  • 系统整体CPU利用率升高
    这里写图片描述
  • 整个系统从7月1日开始CPU使用升高,IO使用降低,排队负载增多
    这里写图片描述
  • 接近一半的服务器CPU利用率达到100%
    这里写图片描述

分析原因

Greenplum的性能问题基本从两个方面着手,一是硬件和OS问题,RAID和网络这类影响IO的硬件条件一般最容易出问题,之前就遇过一台seg host的一块万兆网卡出问题,导致整个cluster的性能急剧下降,gpcheckperf可以发现这类问题,但是需要停机检测;二是应用程序问题,也就是sql语句写的质量,主要就是锁,可以通过以下的sql查询:

SELECT locktype, database, c.relname, l.relation, l.transactionid, l.transaction, l.pid, l.mode, l.granted, a.current_query 
FROM pg_locks l, pg_class c, pg_stat_activity a 
WHERE l.relation=c.oid AND l.pid=a.procpid 
ORDER BY c.relname;

可是闰秒造成的问题跟上述情况都不一样,这些办法都没用,本次实际问题的分析情况如下:

  • 所有发生闰秒问题的机器都是linux,现象是CPU使用率较高(不一定是100%)
  • GP Master是从7月1日8:05开始有CPU使用过高的告警,闰秒是7月1日7:59开始实施的,重启后CPU使用率恢复正常
  • GP变慢就是7月初开始的,7月1日,GP本身及所有应用未做任何更改,未上线新应用
  • 从系统平均CPU利用率看,7月1日开始,系统平均CPU利用率比之前高出了1倍
  • 有一半的机器(全是RHEL 6.2 64bit)CPU一直是100%

解决方案

知道原因,解决起来就很容易了,其实就是在集群的每台机器上都将系统时钟同步到硬件时钟就行了,执行过程需要注意执行结果,有时候同步一次可能不生效:

gpssh -f ./allhosts
=> service ntpd stop
=> ntpdate ntp.mydomain.com
=> service ntpd start
=> clock --systohc
=> exit
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
熟悉Trimble Business Center 设置新项目 - 设置新项目,选择各种项目设置,并将项目另存为可用于其他新项目的模板。 使用电子表格,选择集和COGO控件 - 查看电子表格,创建选择集以及使用COGO控件。 导入和处理GNSS数据 导入GNSS数据 - 将控制和静态GNSS数据导入新项目,合并点,下载参考和精确轨道数据。 处理GNSS基线 - 处理已导入项目的GNSS数据的基线。 导入全站仪和级别数据 导入全站仪数据 - 将使用全站仪 收集的导线数据导入已包含GNSS和级别数据的项目。 导入数字级数据 - 本教程包括三个工作流程:(1)导入和编辑Trimble DiNi级别数据,(2)使用自定义导入程序导入级别数据,以及(3)使用自定义导入程序导入变量行类型级别数据。 执行常见的工作流程 调整网络 - 为包含GNSS,全站仪​​和级别数据的项目调整网络。 校准站点 - 导入两个水塔的测量的网格坐标,并导入用于站点校准的RTK数据。指定如何计算项目中的侧射,配对本地控制点和GNSS控制点,并执行现场校准。 创建和调整遍历 - 创建和调整在现场调查的三个遍历,作为同一项目的一部分。 导入固定点 - 导入放在场中的点(“放样”点)。检查放样点及其相应设计点的增量,以确保在现场实现适当的公差。 执行数据准备 - 将描述最终等级的设计数据更改为构建最终设计所需的中间表面和对象。 创建自定义报告 - 创建自定义报告模板,然后使用它在教程项目中运行数据的自定义报告。还修改预定义的自定义报告模板。 处理功能并使用GIS源 处理要素代码 - 处理和编辑已导入项目的要素代码。然后在各种项目视图中查看要素数据,并将要素导出为CAD工程图。 集成测量和GIS数据 - 首先从文件地理数据库下载数据模式并使用它创建特征定义库(FXL)文件,从而集成测量和GIS数据。然后使用FXL文件处理在现场收集的要素数据,并将处理后的要素数据直接上载(写入)回文件地理数据库。 处理TerraSync SSF数据 - 本教程介绍如何将Trimble标准存储格式文件(.ssf)与适当的参考/基站RINEX文件一起导入TBC,并执行连续GNSS数据的后处理以创建轨迹准确定位记录的特征点和线条工作。 使用点云 使用点云 - 指定如何在图形视图中渲染点云区域,创建其他点云区域,选择性地剪切(隐藏)和取消剪切扫描点,以及使用扫描点创建曲面和测量体积。 创建投影表面 - 为相邻地面挖掘之前和之后收集的外部建筑物墙壁的两个点云中的每一个创建投影(非水平)表面,以确定挖掘产生的墙壁移动。 处理Trimble SX10数据 - 导入和处理使用Trimble SX10扫描全站仪捕获的数据,该全站仪包括两个站设置和一个位于未知位置的扫描站。您将使用“注册扫描”命令确保扫描站捕获的扫描与站点设置中的重叠扫描正确对齐,从而产生“刚性”点云。 使用CAD和绘图功能 使用高级绘图 - 使用各种绘图元素准备整套施工图和地图,例如边框和标题栏,dynaviews(平面图或横截面图),北箭头,标题,标签和图纸编号。 创建标签 - 创建用于创建单/多行标签和表格标签的样式模板。 创建COGO集合和宗地 - 在项目中创建COGO线条集合,您可以选择使用它来创建宗地和计算宗地结束。 使用航空摄影测量 处理航测数据 - 导入地面控制点(GCP)名称和坐标以及航测数据,调整航空摄影站以确保最高精度,并创建正射马赛克,点云和基于光栅的数字表面模型交付物。 处理Trimble UX5 HP航测数据 - 使用TBC和Trimble UASMaster通过Trimble UX5 HP无人机系统(UAS)收集的过程调查数据。 与走廊和隧道一起工作 使用走廊 - 根据现有曲面和路线创建道路走廊。 使用超高 - 定义用于弯曲道路的对齐的超高。 创建隧道设计 - 在TBC中创建一个简单的隧道设计,使您熟悉用于定义隧道的所有元素。 使用隧道竣工点 - 导入隧道竣工点以与隧道设计进行比较,以在报告和绘图工作表集中生成过冲和欠载信息。 使用机器控制 使用机器控制 - 创建一组作业现场设计文件,可以将其下载到安装在作业现场的土方机器上的Trimble Site Controller(SCS)。 使用地面摄影测量 使用摄影测量测量点 - 在Project Explorer,属性窗格,Photo Point电子表格和各种图形视图中进行摄影测量测量以创建点,修改摄影测量测量,以及查看摄影测量点属性和交叉点观察。 从Trimble Vision图像创建SketchUp模型 - 将Trimble Vision图像以及从TBC到Trimble SketchUp的精确测量点导出,您将使用它们创建3D模型。
Greenplum 集群之间同步数据方法及性能.....................................................................................1 1 概述.................................................................................................................................................2 2 相同集群相同数据库不同 SCHEMA 之间同步数据....................................................................2 2.1 查看原始表的大小行数与结构......................................................................................... 2 2.2 同步语句..............................................................................................................................2 2.3 查看 cpu 与内存的使用情况..............................................................................................3 2.3.1 查看 Master CPU 与内存使用情况.........................................................................3 2.3.2 查看数据节点的 CPU 使用情况..............................................................................3 2.3.3 查看数据节点的内存与磁盘使用情况..................................................................6 2.4 查看耗时与表的大小..........................................................................................................7 3 相同集群不同数据库之间同步数据.............................................................................................8 3.1 使用 pg_dum 方式同步数据..............................................................................................8 3.1.1 查看原始表的信息...................................................................................................8 3.1.2 把数据下载到磁盘...................................................................................................9 3.1.2.1 下载数据语句............................................................................................... 9 3.1.2.2 查看 Master 节点详细信息.........................................................................9 3.1.3 把数据导入到数据库中........................................................................................ 10 3.1.3.1 导入数据库语句......................................................................................... 10 3.1.3.2 查看 Master 节点的详细信息...................................................................11 3.1.3.3 查看数据节点的详细信息.........................................................................11 3.1.4 验证数据的准确性................................................................................................ 13 3.1.5 pg_dump 同步数据总结........................................................................................13 3.2 使用 dblink 同步数据........................................................................................................13 3.2.1 dblink 同步相同集群不同数据库的数据.............................................................13 3.2.1.1 同步语句......................................................................................................13 3.2.1.2 查看 Master 节点的详细信息...................................................................15 3.2.1.3 查看数据节点的详细信息.........................................................................15 3.2.2 验证数据的准确性................................................................................................ 17 3.2.3 dblink 使用总结......................................................................................................17 3.3 使用 gptransfer 同步数据.................................................................................................17 3.3.1 gptransfer 介绍.......................................................................................................17 3.3.2 gptransfer 命令参数介绍.......................................................................................18 3.3.3 查看集群及硬件信息............................................................................................ 19 3.3.4 同集群之间同步数据............................................................................................ 19 3.3.4.1 查看表的详细信息..................................................................................... 19 3.3.4.2 进行表数据同步......................................................................................... 19 3.3.4.3 查看硬件详细信息..................................................................................... 21 3.3.4.4 查看数据的准确性..................................................................................... 23 3.3.4.5 使用 gptransfer 总结...................................................................................23 3.3.5 不同集群之间同步数据........................................................................................ 24
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值