hive schematool -initSchema -dbType mysql 报错

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument

  

原因:

  1.系统找不到相关jar包

      2.同一类型的 jar 包有不同版本存在,系统无法决定使用哪一个

com.google.common.base.Preconditions.checkArgument 来自guava.jar

解决:

1. 删除 hive/lib 下的  guava-19.0.jar

2. 将 hadoop-3.2.1(路径:hadoopsharehadoopcommonlibguava-27.0-jre.jar) 复制到 hive/lib 下即可


 

java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8 at [row,col,system-id]: [3263,96

 解决:

   删除  


org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED!

解决:

hive/conf/hive-site.xml

添加,如果hive-site.xml 已经有的话可以直接删除或者修改

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
 
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
 
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>username</value>
<description>Username to use against metastore database</description>
</property>
 
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>passwd</value>
<description>password to use against metastore database</description>
</property>

Fri Sep 18 17:04:47 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

解决:

连接jdbc 连接mysql 时没有设置用户名和密码, 可以设置密码或者  

jdbc:mysql://127.0.0.1:3306/hive?useSSL=false


java.sql.SQLException : Unable to load authentication plugin 'caching_sha2_password'.

原因:

hive/lib 下使用的jar[mysql-connector-java-5.1.42-bin.jar] 包和MySQL 版本不统一

主要原因8.x版本的验证模块和之前版本不同:

  5.x版本是:default_authentication_plugin=mysql_native_password

  8.x版本就是:default_authentication_plugin=caching_sha2_password

解决:

hive/lib 下换用新jar 包: mysql-connector-java-8.0.15.jar


java.sql.SQLNonTransientConnectionException : Public Key Retrieval is not allowed

解决:

jdbc:mysql://localhost:3306/hive?useSSL=false&amp;allowPublicKeyRetrieval=true

如果是此文是转载文章,本人会附上转载链接,此篇文章的版权归原创作者所属,如果侵权请与我联系,我会删除此文。

若没有标明转载链接,此篇文章属于本人的原创文章,其版权所属:
作者:feiquan
出处:http://www.cnblogs.com/feiquan/
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,请尊重劳动成果~ 这里谢谢大家啦(*/ω\*)
原文地址:https://www.cnblogs.com/feiquan/p/13691980.html