org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version

时间:2024-03-24 12:51:16

在初始化hive 报错  详细的报错信息 如下

[[email protected] conf]# schematool -dbType mysql -initSchema
Metastore connection URL:     jdbc:mysql://localhost:3306/hive
Metastore Connection Driver :     com.mysql.jdbc.Driver
Metastore connection User:     root
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown database 'hive'
SQL Error code: 1049
Use --verbose for detailed stacktrace.
*** schemaTool failed ***

错误原因其实报错的信息都告诉咱了没仔细的去看 就顾着搜索异常了  坏习惯

不多说 先分析 

Underlying cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown database 'hive'

未知的库  也就说连接上mysql 数据库的时候没有创建 hive 库 

创建的办法 

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true  把这句话加在连接 字符串 

 这句话就是说 hive 数据库不存在的话 创建数据库  因为是刚安装好的mysql  里面是没有hive库的  希望遇到相同问题的小伙伴 快速解决问题吧 我也是初学大数据

还有类似的 提示 驱动找不到的  好好检查你的配置文件  hive-site.xml看看指定的读取驱动的方式是否正确

我把我的贴出来供大家参考 同时 我自己也记录一下 搞了一上午了 重点我画粗线了供大家参考吧

<configuration>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
    </property>
   <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
  <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
 <property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
  </property>
  <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>

</configuration>

 

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version

这是系统建 的 成功后会在你连接的库里看到有hive这个 库 对应的就是你的URL 里面的hive 

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