早上虚拟机忘记开直接拿datagrip连接hiveserve2服务器,第一次没连上报错后以为是没刷新又刷新重连了好几次,失败多次后才打开虚拟机开启各项服务后再次连接依然连接不上,以为是hive-site.xml文件出错按照网上的配置文件对应配置重启启动后还是不行。
看了下日志最终得出问题原因:报错信息为“Host '192.168.10.121' is blocked because of many connection errors”
因为将hive的metastore配置到了mysql中 启动时HiveServer2 会通过 JDBC 驱动访问 MySQL,MySQL 的 max_connect_errors
参数限制了允许的连接错误次数(默认为 10),超过此限制后,MySQL 会阻止该 IP 地址,直到管理员手动解锁,在多次失败时mysql已经将我的ip地址锁定导致即使配置合适也连接不上。
解决方法:
1.在 MySQL 服务器上执行以下命令解锁:
mysqladmin flush-hosts -uroot -p
2. 检查 MySQL 配置
查看 MySQL 配置文件 my.cnf
(或 my.ini
),调整以下参数以防止频繁阻塞:
max_connect_errors
:该参数定义允许的最大连接错误次数。默认值通常是10
,可以适当增大。
编辑 my.cnf并重启服务
[mysqld]
max_connect_errors=1000
sudo systemctl restart mysqld
使用方法1后再次连接立即连接成功遇到问题不要慌先看日志文件