通过hive运行报错,连接元数据有问题,排查发现
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1040 (HY000): Too many connections
1.问题排查:
Mysqld实际上允许max_connections + 1个客户端连接。额外的连接保留给具有SUPER特权的帐户使用。通过将特权授予管理员而不是普通用户(普通用户不应该需要它),具有PROCESS特权的管理员可以连接到服务器并使用SHOW PROCESSLIST诊断问题,即使连接的非特权客户机的数量达到了最
2. 解决思路:
MySQL支持的最大连接数(即max_connections可以设置的最大值)取决于以下几个因素:
给定平台上线程库的质量。
可用RAM的数量。
每个连接使用的RAM数量。
来自每个连接的工作负载。
所需的响应时间。
可用的文件描述符的数量。
但是增加max_connections值会增加mysqld所需的文件描述符的数量。如果没有所需数量的描述符,服务器将减少max_connections的值。
mysql我的版本是5.7 默认的max_connections 是150+1。
目前我这连接数达到165+,反复测试显示连接数太多。
3,解决方法
更改配置,配置最大连接数配置,重启
配置文件一般存在位置:/etc/my.cnf
修改项:[mysqld]下增加max_connections(最大连接数)
[mysqld]
max_connections=2000
停止mysql服务:
/usr/local/mysql/bin/mysqladmin shutdown -uroot-p****
启动mysql服务:
/usr/local/bin/mysqld_safe --defaults-file=/etc/my.cnf–user=root