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&allowPublicKeyRetrieval=true