温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Mycat 1.6.5 分片导入时报2013代码解决方法

发布时间:2020-03-03 14:46:34 来源:网络 阅读:925 作者:zyszwndm 栏目:MySQL数据库

1.基本信息,
mysql 5.7.22 节点: datanode1, datanode2, datanode3
mycat 1.6.5.

2.故障现象: 导入千万级测试数据的时候报2013,2006,或者3009连接中断

ERROR 2013 (HY000) at line 176 in file: '/soft/TEST_1KW.sql': Lost connection to MySQL server during query
ERROR 2006 (HY000) at line 177 in file: '/soft/TEST_1KW.sql': MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 142
Current database: mycatdb

Mycat 1.6.5 分片导入时报2013代码解决方法

  1. 查看vim log4j2.xml, Mycat log配置情况, 配置改为2500M, 日志级别已经改为 debug
    <Policies>
    <OnStartupTriggeringPolicy/>
    <SizeBasedTriggeringPolicy size="2500 MB"/>
    <TimeBasedTriggeringPolicy/>
    </Policies>
    </RollingFile>
    </Appenders>
    <Loggers>

    <asyncRoot level="debug" includeLocation="true">
    
        <!--<AppenderRef ref="Console" />-->
        <AppenderRef ref="RollingFile"/>

3.使用for循环监控日志大小. 日志很快达到251M,
for i in {0..10000};do ls -lh;sleep 1;clear;done
Mycat 1.6.5 分片导入时报2013代码解决方法

4.mycat挂掉后, 查看导入数据量, 发现只导入了80W数据.
MySQL [mycatdb]> select count(*) from test_ber;
+--------+
| COUNT0 |
+--------+
| 826916 |
+--------+
1 row in set (0.17 sec)

======================================================

  1. (期间也做了大量测试, 一一排除其他配置, java,内存等原因)直接说解决方法,
    结论: , 由于日志满了导致mycat挂了. 所以我写了个for循环, 监控日志大小, 并每秒清理一下logs(在mycat logs目录运行):

    for i in {0..10000};do ls -lh;sleep 1;clear;echo "" > mycat.log;done

方法: 使用for循环
Mycat 1.6.5 分片导入时报2013代码解决方法

重启myat, 查看mycat监听.
Mycat 1.6.5 分片导入时报2013代码解决方法

登录mycat, 重新导入数据:
Mycat 1.6.5 分片导入时报2013代码解决方法

数据正在导入:
Mycat 1.6.5 分片导入时报2013代码解决方法

查看log大小情况 由于一直被清理, 所以日志很小, 并没有占满:
Mycat 1.6.5 分片导入时报2013代码解决方法

导入完成: 无报错
Mycat 1.6.5 分片导入时报2013代码解决方法

查看数据量: 1KW数据, 数据完整.
Mycat 1.6.5 分片导入时报2013代码解决方法

====================================================
更新一下, 其实修改 log4j2.xml 文件中, 改日志级别也能解决.
<asyncRoot level="info" includeLocation="true">
感谢大家关注.

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI