您好,登錄后才能下訂單哦!
1.基本信息,
mysql 5.7.22 節(jié)點: datanode1, datanode2, datanode3
mycat 1.6.5.
2.故障現(xiàn)象: 導(dǎo)入千萬級測試數(shù)據(jù)的時候報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
查看vim log4j2.xml, Mycat log配置情況, 配置改為2500M, 日志級別已經(jīng)改為 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循環(huán)監(jiān)控日志大小. 日志很快達到251M,
for i in {0..10000};do ls -lh;sleep 1;clear;done
4.mycat掛掉后, 查看導(dǎo)入數(shù)據(jù)量, 發(fā)現(xiàn)只導(dǎo)入了80W數(shù)據(jù).
MySQL [mycatdb]> select count(*) from test_ber;
+--------+
| COUNT0 |
+--------+
| 826916 |
+--------+
1 row in set (0.17 sec)
======================================================
(期間也做了大量測試, 一一排除其他配置, java,內(nèi)存等原因)直接說解決方法,
結(jié)論: , 由于日志滿了導(dǎo)致mycat掛了. 所以我寫了個for循環(huán), 監(jiān)控日志大小, 并每秒清理一下logs(在mycat logs目錄運行):
for i in {0..10000};do ls -lh;sleep 1;clear;echo "" > mycat.log;done
方法: 使用for循環(huán)
重啟myat, 查看mycat監(jiān)聽.
登錄mycat, 重新導(dǎo)入數(shù)據(jù):
數(shù)據(jù)正在導(dǎo)入:
查看log大小情況 由于一直被清理, 所以日志很小, 并沒有占滿:
導(dǎo)入完成: 無報錯
查看數(shù)據(jù)量: 1KW數(shù)據(jù), 數(shù)據(jù)完整.
====================================================
更新一下, 其實修改 log4j2.xml 文件中, 改日志級別也能解決.
<asyncRoot level="info" includeLocation="true">
感謝大家關(guān)注.
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。