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