本地MySQL连接hive
1、首先需要修改MySQL的配置,允许远程连接:
# 在本地MySQL服务器上执行
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address 行,将其修改为:
bind-address = 0.0.0.0
2、在本地MySQL中创建用户并授权(注意这里要使用虚拟机的IP地址):
# 在本地MySQL中执行
CREATE USER 'hive'@'虚拟机IP地址' IDENTIFIED BY 'hivepassword';
GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'虚拟机IP地址';
FLUSH PRIVILEGES;
3、在虚拟机的Hive配置中,修改 hive-site.xml 的连接URL:
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://本地MySQL服务器IP:3306/metastore?createDatabaseIfNotExist=true</value>
</property>
4、确保本地防火墙允许MySQL端口(默认3306)的访问:
# 在本地服务器上执行
sudo ufw allow 3306
如果连接失败,检查:
MySQL是否允许远程连接
防火墙设置
网络连接状态
用户名密码是否正确
数据库权限是否正确