hiorg.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version. Underlying cause: java.sql.SQLSyntaxErrorException : Unknown database 'metastore' SQL Error code: 1049 Use --verbose for detailed stacktrace. *** schemaTool failed ***
时间: 2023-06-29 09:04:17 浏览: 283
这个错误提示表明在执行 HiveMetaStore 的时候,无法获取到 schema 版本,可能的原因是 metastore 数据库不存在。你需要在 HiveMetaStore 所在的机器上创建 metastore 数据库,并且确保 HiveMetaStore 配置文件中指定了正确的数据库连接信息。具体步骤如下:
1. 使用 mysql 客户端或者其他工具连接到 MySQL 数据库,创建 metastore 数据库:
```
CREATE DATABASE metastore;
```
2. 修改 HiveMetaStore 的配置文件(hive-site.xml),指定正确的数据库连接信息。例如:
```
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>your-username</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>your-password</value>
</property>
```
其中,ConnectionURL 指定了数据库连接的 URL,其中 localhost 是数据库所在的主机名,metastore 是数据库名称,createDatabaseIfNotExist=true 表示如果数据库不存在,则自动创建。ConnectionDriverName 指定了使用的 JDBC 驱动程序,ConnectionUserName 和 ConnectionPassword 分别指定了连接数据库所需要的用户名和密码。
3. 重启 HiveMetaStore 服务,重新执行你的操作,看看问题是否已经解决。
阅读全文