hive中遇到诸多问题的解决(SSL、PublicKey、MySQL方面)

最近在用hive连接MySQL时遇到了相当多的问题,这里列举几个问题及解决方法,可能不适用读者具体情况,如能帮到你,那便是万幸。

1、连接问题的集合

jdbc:mysql://MySQL的IP地址:3306/hive?
createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true

 hive:连接的数据库名称,后面有createDatabaseIfNotExist=true,可保证没有数据库的情况下创建名为hive的数据库

characterEncoding=UTF-8  :编码方式为utf-8

useSSL=false  :不使用SSL,这个是比较常见的问题,报错时会看到SSL的相关报错信息

allowPublicKeyRetrieval=true  :允许公开密钥检索,对于报出的Public Key Retrieval is not                       allowed可用(仅限于自己电脑的实验,不建议用于公司电脑,感觉危险性不小)

2、MySQL方面

  我在连接MySQL时使用root用户似乎不管用,如果有同样问题,可以试着创建一个新用户

create user "username"@"%" identified by "password";

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password';

 

第一条创建username用户,允许远程访问(%),密码为'‘password’  

第二条给予全部权限

第三条给予某个数据库的权限

    有关于防火墙,我觉得防火墙并不会阻止连接,我的这些问题的解决都是在开启主机(MySQL)防火墙的情况下实现的

最后别忘了把配置好的hive文件夹给到其他机器上,同时hadoop也要开好

你可能感兴趣的:(linux,hadoop,hive)