在初始化hive 报错 详细的报错信息 如下
[root@node3 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>
这是系统建 的 成功后会在你连接的库里看到有hive这个 库 对应的就是你的URL 里面的hive
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true