HIVE无法正常启动,报找不到jdbc的驱动类

17 篇文章 0 订阅
15 篇文章 0 订阅

通过启动脚本:

cd $HIVE_HOME

./bin/hive  --hiveconf hive.root.logger=DEBUG,console

启动报如下错误:

16/08/25 19:06:18 [main]: DEBUG bonecp.BoneCPDataSource: JDBC URL = 

        jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true

, Username = hive, partitions = 1, max (per partition) = 10, min (per partition) = 0, idle max age = 60 min, idle test period = 240 min, strategy = DEFAULT

16/08/25 19:06:19 [BoneCP-pool-watch-thread]: ERROR bonecp.BoneCP: Failed to acquire connection to 

        jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true

. Sleeping for 7000 ms. Attempts left: 5

java.sql.SQLException: No suitable driver found for 

        jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true


        at java.sql.DriverManager.getConnection(DriverManager.java:689)

        at java.sql.DriverManager.getConnection(DriverManager.java:208)

        at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:361)

        at com.jolbox.bonecp.BoneCP.obtainInternalConnection(BoneCP.java:269)

        at com.jolbox.bonecp.ConnectionHandle.<init>(ConnectionHandle.java:242)

        at com.jolbox.bonecp.PoolWatchThread.fillConnections(PoolWatchThread.java:115)

        at com.jolbox.bonecp.PoolWatchThread.run(PoolWatchThread.java:82)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

        at java.lang.Thread.run(Thread.java:745)


这是报没有找到连接mysql的jdbc驱动,但是实际上$HIVE_HOME/lib下已经有mysql的驱动包了

[hadoop@master lib]$ ll mysql-connector-java-5.1.33.jar
-rw-rw-r--. 1 hadoop hadoop 959984 Apr 21  2015 mysql-connector-java-5.1.33.jar
说明驱动包没有问题,经过百度后发现是配置文件$HIVE_HOME/conf/hive-site.xml内配置有问题:
<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>
        jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true
</value>
   <description>JDBC connect string for a JDBC metastore</description>
</property>
上面是原来的配置,下面是修改后的配置:
<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true</value>
   <description>JDBC connect string for a JDBC metastore</description>
</property>

原因是配置文件中的<value></value>中的内容必须在同一行上且不能有空格,即不能包含换行符和空格,否则就会出错,请检查其它的配置是否还在存在这类问题。

修改完成后,再次启动就成功了。
[hadoop@master bin]$ ./hive

Logging initialized using configuration in file:/home/hadoop/bigdataspace/hive-1.1.0-cdh5.5.0/conf/hive-log4j.properties
WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive (default)> show tables ;
OK
tab_name
Time taken: 0.64 seconds
hive (default)> 
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL-like语言来进行大数据处理。Hive-2.3.3是Hive的一个版本,它提供了一种新的JDBC驱动程序,这个驱动程序支持新的JDBC4.2 API,提供更完整的JDBC支持。与之前的版本不同,这个新的JDBC驱动程序提供了更好的性能和更高的可伸缩性。它还支持Kerberos身份验证和SSL加密,可以更加安全地访问Hadoop数据仓库。 使用Hive-2.3.3的JDBC驱动程序,用户可以使用Java编程语言来连接和操作Hive数据仓库。它可以帮助用户编写更加灵活、可靠的Hive应用程序,实现更高效的数据分析和处理。此外,这个驱动程序还可以作为其他应用程序的数据源,如BI应用程序和ETL工具。 对于企业级应用程序,这个JDBC驱动程序提供了更好的弹性和可伸缩性,以应对大量数据的处理需求。用户可以使用它进行数据抽取、转换和加载,从而更好地实现数据集成。 总的来说,Hive-2.3.3的JDBC驱动程序是一个非常有用的工具,它提供了更好的性能、更高的可靠性和更大的可伸缩性,使用户可以更好地处理和分析大数据。 ### 回答2: Hive是一款基于Hadoop的数据仓库系统,可以用于大规模数据存储和分析。而Hive-2.3.3版本的JDBC驱动程序则是提供给Java程序访问和操作Hive数据库的一种工具。 JDBC是Java数据库连接的缩写,是Java语言访问关系型数据库的标准接口。Hive JDBC驱动程序是基于这个接口实现的,通过JDBC接口实现了Hive数据仓库的连接与操作,使得开发者可以使用Java程序对Hive表进行查询、插入、更新、删除等操作。 Hive-2.3.3版本的JDBC驱动程序具有一些新的特性,比如支持Kerberos安全认证、支持HiveServer2协议、支持连接池等。这些新增特性使得Hive-2.3.3 JDBC驱动程序更加易用、安全可靠,并能更好地满足各种应用场景的需求。 总之,Hive-2.3.3 JDBC驱动程序是连接Java程序与Hive数据库的一条桥梁,具有重要的作用。通过这个驱动程序,用户可以在Java应用程序中访问和操作Hive数据库,便于数据分析和挖掘,是大数据应用中必不可少的工具。 ### 回答3: Hive-2.3.3 JDBC驱动程序是一个用于连接Apache Hive数据库的Java编程语言接口,它使得程序员能够在Java应用程序中访问Hive数据库。JDBC驱动程序是一种遵循Java Database Connectivity(JDBC)标准的软件组件,它提供了一个标准接口来访问关系型数据库。 Hive是一个基于Hadoop的数据仓库,它允许用户使用SQL的语言查询和分析存储在Hadoop文件系统中的大规模数据集。Hive可以将结构化数据映射到Hadoop的分布式文件系统中,并提供了SQL的查询语言HiveQL,允许用户使用HiveQL查询大型数据集。 使用Hive-2.3.3 JDBC驱动程序,程序员能够在Java应用程序中轻松地访问Hive数据库。它提供了一个稳定、高性能的连接对象来管理与Hive的通信,该对象对数据库的基本操作(例如查询和更新)提供支持。此外,JDBC驱动程序还提供了一组API,使得程序员可以自由地构建和执行查询语句,从而进行数据查询和分析。 总之,Hive-2.3.3 JDBC驱动程序是一个重要的工具,它使得Java程序员能够轻松地访问和查询Hive数据库。它提供了一组标准接口,使得程序员可以更轻松地进行数据分析和处理,为企业和组织提供了更快、更有效的数据处理解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值