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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章