hive啟動一直失敗 org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver


第一步先認真的檢查一下mysql中創建的hive數據和用戶名

1 create database hive default charset utf8 collate utf8_general_ci;
2 CREATE USER 'hive'@'%' IDENTIFIED BY 'Hive-123';
3 GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';
4 FLUSH PRIVILEGES;
5  
6 這個一定要增加,要不然本地連接會失敗,沒有權限
7 CREATE USER 'hive'@'localhost' IDENTIFIED BY 'Hive-123';
8 GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'localhost';

 

上面操作執行后還是有下面的錯誤出現。重點觀察到‘Failed to load driver’。

這種情況,猜測是缺少jdbc驅動,於是添加jdbc驅動到相應的包下面。報的錯中提示了lib路徑,添加一下即可。

/usr/hdp/3.0.1.0-187/hive/lib

cd /usr/share/java/

scp -r mysql-connector-java.jar  slave1:/usr/hdp/3.0.1.0-187/hive/lib

scp -r mysql-connector-java.jar  slave2:/usr/hdp/3.0.1.0-187/hive/lib

cp  mysql-connector-java.jar /usr/hdp/3.0.1.0-187/hive/lib


單集群

 

修改 hive-site.xml 內容(全部刪除,可鍵入 ESC,然后輸入 10000dd 命令)為:
hadoop227@lql227mas102:/opt/module/hive-2.3.9/conf$sudo vim hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.27.102:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding
            =UTF-8&amp;useSSL=false</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>hive</value>
        <description>Username to use against metastore database</description>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
        <description>password to use against metastore database</description>
    </property>
</configuration>

 

jdbc驅動mysql-connector-java.jar選擇:

com.mysql.jdbc.Driver和mysql-connector-java 5.jar一起用。mysql-connector-java-5.0.8-bin.jar

com.mysql.cj.jdbc.Driver和mysql-connector-java 6.jar及更高的版本jar包 一起用。mysql-connector-java-8.0.11.jar

再次啟動hive,OK終於解決了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM