使用Sqoop从mysql导数到hive报错,如下:
Error executing statement: java.sql.SQLNonTransientConnectionException: Too many connections
分析报错发现是mysql大量的连接没释放,造成连接数满了,无法响应新连接。
1、查看mysql连接数:
show VARIABLES like 'max_connections';
2、查看 连接会话 存活时间周期
show VARIABLES like 'wait_timeout';
3、查看现在来连接多少个
show status like 'Threads%';
查看发现连接数已满,无法再创建新的连接。
解决方式:
执行下面语句生成kill语句,批量执行kill掉没有释放的sleep任务
select concat('kill ',id,';') from information_schema.`PROCESSLIST` where command='Sleep';