您的位置:首页 > 数据库 > MySQL

Hive 远程连接 MySQL数据库遇到的问题

2018-03-25 23:07 1476 查看
设置 源数据 保存到MySQL数据库问题

1.加载 MySQL 驱动包到 hive 的 lib 目录下

2.在 hive 的conf 目录下新建 hive-site.xml 文件

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop-5:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysql</value>
</property>
</configuration>


3.启动 hive 后使用 databases 命令报错

hive> show databases;
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
解决方法:
[hadoop@hadoop-1 bin]$ ./hive --service metastore &
[2] 6074


4.启动 hive 报错 —> 连接远程 MySQL 数据库

java.sql.SQLException: null,  message from server: "Host 'hadoop-1' is not allowed to connect to this MySQL server"

解决方法:
1.登陆到MySQL,输入  ----> 查看是否有 user表
use mysql;
show tables;
2.输入   -----> 修改远程连接权限
select host from user; ----> 查看哪些地方可以连接数据局

update user set host ='%' where user ='root'; ----> 任何地方 root 用户都可以连接数据库
3. 重启mysql 服务
systemctl restart mysqld;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: