配置单元执行错误,从org.apache.hadoop.HIVE.ql.exec.ddlstask返回代码1

配置单元执行错误,从org.apache.hadoop.HIVE.ql.exec.ddlstask返回代码1,hive,Hive,我在创建配置单元数据库时遇到以下错误 失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddlstask返回代码1。com/facebook/fb303/facebook服务$Iface Hadoop版本:**Hadoop-1.2.1** HIVE版本:**HIVE-0.12.0** Hadoop路径:/home/Hadoop\u test/data/Hadoop-1.2.1 配置单元路径:/home/hadoop\u test/data/hive-0.12.0 我

我在创建配置单元数据库时遇到以下错误

失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddlstask返回代码1。com/facebook/fb303/facebook服务$Iface

Hadoop版本:**Hadoop-1.2.1**

HIVE版本:**HIVE-0.12.0**

Hadoop路径:
/home/Hadoop\u test/data/Hadoop-1.2.1

配置单元路径:
/home/hadoop\u test/data/hive-0.12.0


我已将hive*.jar、jline-.jar、antlr-runtime.jar从hive-0.12.0/lib复制到hadoop-1.2/lib

将hive-site.xml中的hive.metastore.schema.verification属性设置为true,默认为false


有关更多详细信息,请查看此项。

我遇到了相同的错误。在我的例子中,原因是在HDFS仓库中创建了一个同名的目录。当这个目录被删除时,它解决了我的问题

这可能是因为您的metastore_db被损坏了。从metastore_db中删除.lck文件。

hive-e“msck修复表数据库.tablename” 它将修复表的表元存储模式

set hive.msck.path.validation=ignore;
MSCK REPAIR TABLE table_name;

确保正确指定了位置

出现此错误的原因是我们在外部配置单元表中添加了一个新列设置hive.msck.path.validation=ignore一直致力于修复配置单元查询,但黑斑羚还有其他问题,通过以下步骤解决:

在执行使元数据无效后,Impala查询开始失败,出现错误:列的拼花地板架构不兼容

Impala错误解决方案:设置拼花地板\u回退\u模式\u分辨率=名称

如果您使用Cloudera发行版,以下步骤将使更改永久化,并且您不必设置每个会话的选项

Cloudera Manager->Clusters->Impala->Configuration->Impala守护程序查询选项高级配置代码段(安全阀)

添加值:拼花地板\u回退\u模式\u分辨率=名称


注意:在Cloudera Manager中设置参数时,请不要使用SET或分号。按照以下方法,我解决了问题

set hive.msck.repair.batch.size=1;
set hive.msck.path.validation=ignore;
如果无法设置值并获取错误。
error:error while processing语句:无法在运行时修改hive.msck.path.validation。它不在允许在运行时修改的参数列表中(state=42000,code=1)

在配置单元站点中添加内容:

key:
hive.security.authorization.sqlstd.confwhitelist.append
value:
hive\.msck\.path\.validation|hive\.msck\.repair\.batch\.size

当底层hdfs目录更新为新分区时,我遇到了类似的问题,因此配置单元元存储失去了同步

使用以下两个步骤解决:

  • MSCK table_name显示了所有分区不同步的原因
  • MSCK修复表table_name添加了缺少的分区

  • 使用“hive--hiveconf hive.root.logger=DEBUG,console”打开hive cli以启用日志并从此处进行调试,在我的例子中,分区的camel case名称写在hdfs上,我创建的hive表的名称完全是小写的。

    运行
    hive
    的用户是否具有对metastore的写入权限?谢谢!这应该得到绿色徽章。在我的情况下,该选项会抑制错误。但未创建所需的分区。
    MSCK table_name
    返回语法错误
    外部输入'MSCK'应为{'(“,”选择“,”描述“,”使用“,”带“,”值“,”创建“,”表“,”插入“,”删除“,”描述“,”授予“,”撤销“,”解释“,”显示“,”使用“,”删除“,”更改“,”设置“,”重置“,”启动“,”提交“,”回滚“,”调用“,”准备“,”解除分配“,”执行“)
    msck repair table\u name
    以执行错误结束,从org.apache.hadoop.hive.ql.exec.ddlstask.null返回代码1