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