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终于解决了。

posted @   战神盖亚  阅读(2848)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示