我有一个运行配置单元的3节点集群。 当我尝试从群集外部运行一些测试时,我得到以下错误
FAILED:元数据错误:java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.metastore.HiveMetaStoreClient FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1 使用文件中的配置初始化日志:/net/slc01nwj/scratch/ashsshar/view_storage/ashsshar_bda_latest_2/work/hive_scratch/conf/hive-log4j.properties
当我登录到群集节点并执行hive时,它正常工作。
蜂房>显示数据库; 好 默认
以下错误发生在测试日志文件中
13/04/04 03:10:49错误security.UserGroupInformation:PriviledgedActionException as:ashsshar {my username}(auth:SIMPLE)cause:java.io.IOException:javax.jdo.JDOFatalDataStoreException:无法创建数据库' / var / lib / hive / metastore / metastore_db',有关详细信息,请参阅下一个异常。 NestedThrowables: java.sql.SQLException:无法创建数据库'/ var / lib / hive / metastore / metastore_db',有关详细信息,请参阅下一个异常。
我的hive-site.xml
文件包含此连接属性::
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
我更改了群集节点上的/var/lib/hive/metastore/metastore_db
,但仍然收到相同的错误
我也尝试从上面的目录中删除所有* lck文件
答案 0 :(得分:10)
{username}是否具有创建权限
/var/lib/hive/metastore/metastore_db
?
如果是测试群集,则可以
sudo chmod -R 777 /var/lib/hive/metastore/metastore_db
或chown
运行它的用户。
答案 1 :(得分:1)
尝试删除$ HADOOP_HOME / build文件夹。我和hive-0.10.0或更高版本有同样的问题。然后我尝试了hive-0.9.0并得到了一组不同的错误。幸运的是找到了这个帖子Hive doesn't work on install。尝试了相同的技巧,它神奇地为我工作。我正在使用默认德比数据库。
答案 2 :(得分:1)
这是针对hive文件夹的权限问题。请de以下将运作良好。 去hive用户,对我来说, sudo chmod -R 777 hive
答案 3 :(得分:1)
由于hive shell的突然终止,会出现此问题。这创建了一个无人参与的db.lck文件。 要解决此问题,
浏览到你的metastore_db位置
删除tmp,dbex.lck和db.lck文件。 再次打开配置单元shell。它会起作用。
您可以再次看到tmp,dbex.lck和db.lck文件的创建。
答案 4 :(得分:0)
我从/ var / lib / hive /移动了Metastore后,它工作了。我是通过编辑来完成的:/etc/hive/conf.dist/hive-site.xml
从:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
为:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/home/prashant/hive/metastore/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
`
答案 5 :(得分:0)
请确认你的hadoop目录中是否有MetaStore_db,如果有,删除它并重新格式化你的hdfs, 然后尝试启动配置单元
答案 6 :(得分:-1)
是的,这是特权问题。按以下命令输入您的配置单元shell:
sudo -u hdfs hive