java.sql.sqlexception:使用配置单元初始化数据库时,未能启动数据库“metastore\u db”错误

s71maibg  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(385)

我在集群3上安装了hadoop和hive。我可以从运行配置单元的群集节点登录到配置单元。
root@node_3 配置单元]#使用中的配置初始化配置单元日志记录jar:file:/usr/lib/hive/lib/hive-common-0.10.0-cdh4.2.0.jar/hive-log4j.properties配置单元历史文件=/tmp/root/hive\u job\u log\u root\u 201304020248\u 306369127.txt配置单元>显示表格;确定时间:1.459秒Hive>
但是,当我尝试在集群节点上运行一些配置单元测试时,出现以下错误。
这里它试图初始化数据库为user=ashshar{myusername}
3/04/02 02:32:44 info mapred.jobclient:正在清理暂存区域hdfs://scaj-ns/user/ashsshar/.staging/job_201304020010_0080 13/04/02 02:32:44错误security.usergroupinformation:priviledgedactionexception as:ashshar(auth:simple) cause:java.io.ioexception:javax.jdo.jdofataldatastoreexception:未能创建数据库'/var/lib/hive/metastore/metastore\u db',有关详细信息,请参阅下一个异常。nestedthrowables:java.sql.sqlexception:未能创建数据库'/var/lib/hive/metastore/metastore\u db',有关详细信息,请参阅下一个异常。java.io.ioexception:javax.jdo.jdofataldatastoreexception:未能创建数据库'/var/lib/hive/metastore/metastore\u db',有关详细信息,请参阅下一个异常。nestedthrowables:java.sql.sqlexception:未能创建数据库'/var/lib/hive/metastore/metastore\u db',有关详细信息,请参阅下一个异常。
我试过两件事。
1 . 授予cd/var/lib/hive/metastore/metastore\u db权限
正在删除rm/var/lib/hive/metastore/metastore\u db/*lck
但我还是犯了同样的错误

6yjfywim

6yjfywim1#

如果您使用的是cdh 1,请按照以下步骤操作。复制/usr/lib/hive/conf/hive-site.xml并粘贴到/usr/lib/spark/conf中/
这将解决“metastore\u db”错误的问题
谢谢

pw9qyyiw

pw9qyyiw2#

这似乎是创建元存储的一个问题。我通过创建一个目录并将值设置为该目录来解决这个问题,如下所示:
第一步:在home上创建一个目录,比如:hive metastore dir
步骤2:作为超级用户,编辑hive-site.xml(在:/usr/lib/hive/conf中),如下所示:

<name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>

<name>javax.jdo.option.ConnectionURL</name> 
  <value>jdbc:derby:;databaseName=/home/hive-metastore-dir/metastore/metastore_db;create=true</value>

步骤3:以sudo配置单元的形式启动cli并执行查询。

f1tvaqid

f1tvaqid3#

您可以从用户具有写访问权限的目录登录到配置单元客户端。默认情况下,当shell打开时,hive将尝试在local和hdfs中创建临时目录。

相关问题