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(路径:hadoop\share\hadoop\common\lib\guava-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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM