暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

GoldenDB导入导出——常见故障解决

原创 蒋宇智 2024-04-15
2232

常见故障解决

LoadServer无法启动

故障现象

执行 dbstart 命令,显示 [loadserver]loadserver......starting......Done,再执行 dbstate 命令,显示 [loadserver]The loadserver process is not running。

故障分析

LoadServer配置参数错误。通过查看loadserver__dump.log定位具体的错误配置项。例如:以下错误显示数据目录配置无权限。

# 10-24 20:16:11:710 F[loadservercommon.cpp] L[1169] E[0] [INIT]:create dir:[/home/zkjdbagent1/loaddata/data/] fail,loadserver exit

故障处理

处理步骤:根据配置文件注释及环境规划填写正确配置项,并重新启动。

故障处理确认

处理步骤:检查LoadServer进程是否启动运行正常。命令执行结果:[loadserver]The loadserver process is running。

操作命令:dbstate。

执行导入导出命令无响应

故障现象

执行dbtool 导入导出命令,dbtool 打印:Link to other module.Please wait a minute!

故障分析

● LoadServer 进程运行异常,导致 dbtool 客户端与LoadServer 通信失败。

● LoadServer 监听端口被其它进程占用,dbtool 客户端与LoadServer 通信失败。

故障处理

处理步骤操作命令

检查 LoadServer 模块运行情况。运行正常:[loadserver]The loadserver process is running

dbstate

运行不正常,则启动进程,重新执行导入导出命令

dbstate

检查LoadServer监听端口是否被占用。查看 loadserver.ini [loadserver]段的listen_port。在root下执行命令,查看端口占用情况

netstat -anp | grep 6036

若显示有进程占用,则需要重新更换listen_port端口,重新启动进程

dbstop dbstart

故障处理确认

处理步骤:执行导入导出命令成功

与MetadataServer链路异常

故障现象

导出命令开始执行,报错:Load data message:lose connect with mds

导入命令开始执行:报错:Load data message:send message to MDS fail

故障分析

MDS 进程运行异常。

LoadServer 配置MDS 通信链接参数错误。

故障处理

处理步骤操作命令

在 MDS 安装用户检查进程运行情况

dbstate

在 MDS 安装用户检查链路链接情况,检查与 LoadServer 的链路

dbtool -mds -ls

检查 LoadServer 配置文件与MDS 相关配置,若不正确,修改配置项并重新启动LoadServer

dbstop dbstart

故障处理确认

处理步骤:导入导出命令开始执行,无相关 MDS 报错。

与ClusterManager链路异常

故障现象

● 导出命令开始执行,报错:Load data message:lose connect with ClusterManager!

● 导入命令开始执行:报错:Load data message:lost conn with clustermanager

故障分析

CM 进程运行异常。

LoadServer 配置CM 通信链接参数错误。

故障处理

处理步骤操作命令

在 CM 安装用户检查进程运行情况

dbstate

在 CM 安装用户检查链路链接情况,检查与 LoadServer 的链路

dbtool -cm -ls

检查 LoadServer 配置文件与 CM 相关配置,若不正确,修改配置项并重新启动LoadServer

dbstop dbstart

故障处理确认

处理步骤:导入导出命令开始执行,无相关 CM 报错。

FTP密码解密失败

故障现象

导入或导出命令开始执行,报错:decrypt fail, please check ftp password, os decode type:x

故障分析

loadserver.ini中ftp_pwd配置错误,或者os.ini中解密方式decode_type配置错误。

故障处理

处理步骤操作命令

检查LoadServer用户下etc/os.ini中配置项decode_type,2为aes加密,3为国密。

检查loadserver.ini中ftp_user、ftp_pwd配置项是否正确,符合加密规范。

若不正确,修改配置项并重新启动LoadServer。

dbstop dbstart

故障处理确认

处理步骤:执行导入导出命令,无解密相关报错

FTP连接验证失败

故障现象

导入或导出命令开始执行,报错:

ftp connect fail, please check ftp config and service

Ip:xx.xx.xx.xx, Port:xx, User:xx

ErrorMsg:......

故障分析

导入和导出任务之前进行了ftp连接验证,验证失败,可能原因:1.ftp配置信息填写错误;2.loadserver的ftp服务异常。

故障处理

处理步骤操作命令

检查loadserver.ini中ftp_port、ftp_type、ftp_user、ftp_pwd配置项是否正确。

若不正确,修改配置项并重新启动LoadServer。

dbstop dbstart

检查loadserver用户的ftp服务是否正常

service vsftpd status

故障处理确认

处理步骤:执行导入导出命令,无ftp相关报错

导入导出一直打印中间响应

故障现象

导入导出命令执行,dbtool 客户端一直打印中间响应。如下:

[10-25 13:02:01:55 ] groupid:1 success:0 failure :0 continue:1

[10-25 13:02:01:55 ] groupid:2 success:0 failure :0 continue:1

故障分析

LoadServer 未收到 CM 消息命令响应,CM 配置文件中关于 LoadServer 的配置项错误。

故障处理

处理步骤操作命令

在 CM 安装用户检查配置文件 clustermanager.ini 中关于 LoadServer 的配置项:loadserver_ip、loadserver_port 是否正确。重新配置,并重启CM。

dbstop dbstart

故障处理确认

处理步骤:导入导出命令执行成功

查询表定义错误

故障现象

导入导出命令执行报错:Load data message:[MDS]: Query Table Create SQL Error!

故障分析

LoadServer 在该集群中没有查询到表定义。

故障处理

处理步骤操作命令

登陆命令中指定集群的CN,查询导入导出表涉及的表是否存在。

登陆CN:mysql -uzkj -p'12345' -h10.46.178.194 -P1234 查询表是否存在:show create table load.tb;

故障处理确认

处理步骤:导入导出命令执行成功

导入报错数据文件不存在

故障现象

导入命令执行报错:Load data message:datafile is not exist

故障分析

导入文件不存在或者未放置在正确导入目录。

故障处理

处理步骤操作命令

根据导入命令中参数 -clusterid,检查导入目录是否存在

$HOME/loaddata/in/[clusterid]

故障处理确认

处理步骤:导入导出命令执行成功

导入导出报错Not connected

故障现象

导入导出命令执行报错:[groupid =1] [code = 9015] [message = -158|Not connected

故障分析

服务器 FTP 服务未安装或未开启。

故障处理

处理步骤操作命令

在 LoadServer 服务器,root 用户下检查 FTP 服务运行情况。vsftpd: unrecognized service:显示FTP服务未安装。vsftpd is stopped:显示 FTP 服务未启动,执行启动命令。

service vsftpd status;service vsftpd start

故障处理确认

处理步骤:导入导出命令执行成功

导入下载导出上传失败

故障现象

导入命令执行报错:

# [10-25 15:43:46:88 ] command to GET-UPLOAD-DATAFILE-RESPONSE Load data code:9611 Load data message:upload file ---- failure [filename=loadout.data] [groupid =1] [code = 9015] [message = fail]

导出命令执行报错:

# file [loadout.data.20171025154346997.24.4.00000001] to GET-EXEC-SQL-COMMAND-RESPONSE Load data code:9013 Load data message:execute file: /home/zkjdbagent4/load_in/Download-loadout.data.20171025154346997.24.4.00000001.ftp,return code:1!

故障分析

DBGroup节点 ftp 客户端或者 expect 插件未安装。

故障处理

处理步骤操作命令

若是导出失败,根据报错信息中的[groupid]到指定DBGroup节点,root下执行命令查看 ftp 客户端,expect 插件是否安装

rpm -qa | grep ftp;rpm -qa | grep expect

若是导入失败,根据导入失败信息:Load data message 确定失败DBGroup节点,root下执行命令查看 ftp 客户端,expect 插件是否安装

rpm -qa | grep ftp;rpm -qa | grep expect

故障处理确认

处理步骤:导入导出命令执行成功

导入导出FTP登陆错误

故障现象

导出命令执行报错:

# [10-25 17:17:28:53 ] command to GET-UPLOAD-DATAFILE-RESPONSE Load data code:9611 Load data message:upload file ---- failure [filename=loadout.data] [groupid =1] [code = 9015] [message = -118|ftp Login incorrect]

导入命令执行报错:

# Intermediate response: file [loadout.data.20171025171728758.33.1.00000001] to GET-EXEC-SQL-COMMAND-RESPONSE Load data code:9013 Load data message:-118|ftp Login incorrect

故障分析

Loadserver.ini 配置文件FTP 服务配置参数错误。

故障处理

检查 loadserver.ini 文件中配置项:ftp_port、ftp_user、ftp_pwd是否正确

故障处理确认

处理步骤:导入导出命令执行成功

大数据导入部分文件失败

故障现象

大数据文件执行导入命令,执行结果如下,存在部分导入失败文件:

# Load data code:0 Load data message:deal with the datafile success! file split result :success split file num:1002 success file num:1000 failure file num:2 ~success~

故障分析

LoadServer 服务器数据导入导出功能依赖操作系统的FTP 服务,因此容易受到网络不稳定的影响,同时也受到各DBGroup磁盘IO能力影响,因而大数据文件导入时,容易出现上述部分文件失败的现象。

故障处理

处理步骤操作命令

使用 LoadServer 数据导入重试命令,进行失败数据的重试导入。LoadServer 选项是否支持 -importdate= 请使用dbtool -h 命令查看。

dbtool -loadserver -load-retry -clusterid=1 -tablename=db.tb [-importdate="2017-10-26"]

故障处理确认

处理步骤:数据导入重试命令执行成功。从CN 登陆查询导入数据表数据量未丢失。

大数据导入时,系统繁忙,出现卡顿现象

故障现象

大数据导入导出时,系统出现卡顿现象,同时I/O操作不能正常准时完成。

故障分析

LoadServer导入导出过程中,文件下载(导入过程)、文件上传(导出过程)依赖于系统提供FTP功能,如果数据量过大,FTP上传下载过程中,占用大量系统I/O,造成系统资源耗尽,无法正常处理其他I/O操作。

1.检查大数据导入导出时,系统有无出现卡顿

2.iostat –dx 1查看%util参数是否很满

故障处理

处理步骤操作命令

FTP Server端/etc/vsftpd/vsftpd.conf流量控制配置项中anon_max_rate(数值单位为bytes/秒),可添加或修改此配置项控制导入导出过程中FTP对系统I/O占用,修改后重启FTP服务。

service vsftpd restart

故障处理确认

处理步骤:大数据导入导出的时候查看有无卡顿现象。

LoadServer执行导入导出过程中出现SQL命令执行失败(9018错误)

故障现象

LoadServer执行导入导出过程中出现SQL命令执行失败(9018错误)。

故障分析

在导入过程中,数据库会校验数据一致性和待导入数据项和数据库表是否一致,不一致就会报错。

1.检查LoadServer执行导入导出过程中有无出现SQL命令执行失败

2.检查表中数据和待导入文件数据是否存在重复

3.检查待导入数据文件和数据库中表定义是否一致(不考虑GTID列)

故障处理

处理步骤:检查表中数据和待导入文件数据是否存在重复,检查待导入数据文件和数据库中表定义是否一致(不考虑GTID列)。

故障处理确认

处理步骤:重新导入数据,查看是否导入成功。

文章转载自蒋宇智,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论