数仓实践丨主动预防-DWS关键工具安装确认
Posted 华为云开发者社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数仓实践丨主动预防-DWS关键工具安装确认相关的知识,希望对你有一定的参考价值。
摘要:gdb确认是否安装,所带来的该工具用户数据库实例触发core问题后集群状态反复异常,对此问题及时分析根因并及时进行规避。
本文分享自华为云社区《主动预防-DWS关键工具安装确认》,作者:上官寒雨。
【关键工具确认】
1、gdb确认是否安装(该工具用户数据库实例触发core问题后集群状态反复异常,对此问题及时分析根因并及时进行规避)
登录任意集群节点执行以下命令(HC/HCS/HCSO环境登录沙箱外执行):
gdb --help
提示以下信息则已安装
2、gstack是否安装(与gdb关联工具,gdb安装后此工具会默认安装,作用与gdb相同)
登录任意集群节点执行以下命令(HC/HCS/HCSO环境登录沙箱外执行):
gstack
提示以下信息则已安装
gdb与gstack安装请参考以下链接:
https://bbs.huaweicloud.com/forumreview/thread-182292-1-1.html
3、core是否配置(该配置可以确保数据库实例触发core问题后能够抓取异常堆栈信息,以便使用gdb工具从所抓取信息中获取触发实例异常sql及时规避与根因定位)
集群状态为Normal时执行以下命令确认(集群normal情况下该操作不影响业务)
kill -11 备dn进程号,检查对应的数据目录下是否生成core文件,若产生core文件则已配置。
若未配置请按照以下链接进行配置:
HC/HCS/HCSO core配置:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=181948
纯软core配置: https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=182036
4、pg_xlogdump是否存在(异常业务产生大量xlog后造成业务慢,磁盘使用率快速上涨等问题,使用此工具解析异常业务)
pg_xlogdump提示以下信息则已安装(纯软环境加载环境变量后执行,HC/HCS/HCSO登录至沙箱内执行)
5、pagehack是否存在(数据文件出现静默损坏使用该工具解析异常数据文件)
pagehack提示以下信息则已安装(纯软环境加载环境变量后执行,HC/HCS/HCSO登录至沙箱内执行)
pg_xlogdump与pagehack工具获取如下链接:
https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=142380
上传步骤如下:
步骤1:登录至第一个CN节点,使用omm(云上使用Ruby用户)将pagehack、pg_xlogdump工具上传至该节点$GAUSSHOME/bin/下
步骤2:将工具分发至其他节点
gs_ssh -c "scp $hostname:$GAUSSHOME/bin/pagehack $GAUSSHOME/bin/" gs_ssh -c "scp $hostname:$GAUSSHOME/bin/pg_xlogdump $GAUSSHOME/bin/"
$hostname为第一个cn节点的hostname。
6、 gs_detect工具上传步骤(此工具包未运维团队开发,其中包括集群状态异常诊断工具、IO高工具、数据文件损坏扫描等工具,方便出现问题后及时定位及恢复)
步骤1:omm用户登录第一个cn节点(云上使用Ruby),在附件获取gs_detect工具并重命名为gs_detect.tar.gz上传至第一个cn节点/home/omm路径下(HC/HCS/HCSO形态放在第一个cn节点/home/Ruby路径下)
步骤2:使用以下命令解压
cd /home/omm
tar -zxvf gs_detect.tar.gz
步骤3:将gs_detect工具分发至其他节点
gs_ssh -c "scp -r hostname:/home/omm/gs_detect /home/omm"
$hostname为第一个cn节点的hostname。
注:云上的分发命令需要在沙箱内执行
【系统加固】
1、arm加固项确认(x86机器不涉及)
https://support.huawei.com/enterprise/zh/bulletins-product/ENEWS2000007743
2、Centos7.6impi模块导致服务器反复重启,修复方案见附件 《CentOS7.6 ipmi模块补丁合入指导.docx》
- 附件:gs_detect.tar.txt67.72KB
- 附件:ipmi模块补丁合入指导.docx2.33MB
DSC:数仓SQL脚本迁移的神奇工具
摘要:本文介绍的DSC工具是针对数据库切换时面临的迁移任务而开发的免安装命令行工具。目的是提供简单、快速、可靠的SQL脚本迁移服务。
本文分享自华为云社区《GaussDB(DWS)DSC工具系列:DSC工具初识【玩转PB级数仓GaussDB(DWS)】》,作者:积少成多 。
DSC背景介绍与DSC介绍
当客户从其它数据库切换到DWS数据库时可能会面临迁移任务,其中包括SQL脚本的迁移。SQL脚本的迁移是一个复杂、高风险、耗时的过程。DSC针对这种情况,应运而生。DSC(Database Schema Convertor)是一款可执行在Linux或Windows操作系统上的命令行工具。其目的便是提供简单、快速、可靠的SQL脚本迁移服务,通过内置语法迁移逻辑将源数据库SQL脚本转换为适用于DWS数据库的SQL脚本。
DSC的获取与安装
DSC的获取可参考华为云文档:客户端工具下载(https://support.huaweicloud.com/tg-dws/dws_07_0002.html)。官网提供DSC旧版本,新版DSC工具可通过support进行下载。(https://support.huawei.com/enterprise/zh/cloud-computing/hcs-dws-service-pid-251527524/software/258068937/?idAbsPath=fixnode01|22658044|7919788|9856606|251527524)
DSC是一款免安装工具,下载压缩包后解压缩即可使用。关于DSC还有一些相关的硬件、软件需求,详情可以参考DSC的官方文档进行了解。(https://support.huaweicloud.com/tg-dws/mt_tool_index.html)
DSC结构
DSC包含7个文件夹,一个runDSC.bat批处理可执行文件和一个runDSC.sh脚本文件。runDSC用于调用执行DSC程序。
DSC目录结构文件如下:
界面即为命令行界面,切换路径至runDSC.bat/runDSC.sh的同级目录即可。其中bin文件夹下存储DSC转换逻辑的jar包,最终实现脚本转换就是通过调用jar包实现。config文件夹下包含一些基础配置,包含用户可自定义配置迁移的文件。模块包括MySQL、TD、Oracle,涉及自定义迁移内容根据模块不同内容也不尽相同。MySQL模块中,自定义配置内容包括默认数据库名称、索引名重命名、数据映射规则、函数转换等内容。TD、Oracle中针对迁移过程中的不兼容语法也有相应配置参数。lib文件夹下包含DSC使用的外部依赖。log文件夹下留存DSC转换过程中的日志记录,包括dsc迁移日志和迁移失败日志。日志不会自动清空,每次执行DSC会对日志进行追加写。下次执行DSC命令时,需要手动删除文件夹内内容进行日志清空。input文件夹下存放要进行迁移的SQL脚本,output文件夹下为DSC进行转换后的SQL脚本结果。scripts文件夹下包含一些自定义数据库脚本,用户可以使用自定义数据库的SQL脚本从Teradata/Oracle迁移那些不直接存在于目标数据库的关键字。如果需要用到,迁移之前,这些脚本必须在每个目标数据库中执行一次。
DSC使用
用户可在Windows和Linux操作系统中执行runDSC.sh或runDSC.bat命令进行迁移,命令格式如下:
./runDSC.sh 相关命令行参数(Linux操作系统) / runDSC.bat 相关命令行参数(Windows操作系统)
相关命令行参数包括以下8个:
DSC执行流程如下:
先根据源库内容进行自定义功能配置,包括是否需要执行scripts目录中包含一些自定义数据库脚本,配置config中的自定义参数。然后命令行执行启动命令,进行脚本SQL转换,最后从输出目录获取结果。如果迁移过程遇到问题,可以查看日志。
结果展示界面(以MySQL为例):
MySQL迁移中,界面会显示迁移路径下总文件数,有效文件数,迁移成功文件数和迁移失败文件数以及日志存放路径。不同模块下显示界面略有差异。
转换结果展示(左为源文件内SQL,右为经DSC转换后的结果):
常见问题汇总、归纳以及解决办法
常见故障处理可见DSC官方手册《DSC故障处理》一节。
在使用过程中常见的问题有以下几个可供参考:
1、在安装过程中,提示“ Root privileged users are not allowed to install the DSC for Linux. ”
解决办法:拥有root权限的用户不得在Linux中安装和执行DSC。建议使用没有root权限的用户来安装和操作DSC。
2、转换结果中中文有乱码
解决办法:修改config中对应模块下的编码方式。以MySQL为例,修改config/features-mysql.properties中的table.database.encoding参数。以及建议将input路径下的文件改为UTF8编码方式规避中文乱码。
3、SQL存在转换失败的问题:DSC手册中记录可转换的内容转换失败或转换错误。
解决办法:先尝试通过support获取最新DSC工具,尝试问题是否解决,如果问题未解决可联系相关维护人员支撑。
以上是关于数仓实践丨主动预防-DWS关键工具安装确认的主要内容,如果未能解决你的问题,请参考以下文章