无法通过PXF查询外部表

  • 本文关键字:查询 外部 PXF greenplum
  • 更新时间 :
  • 英文 :


我用一个主和3个段主机制作了一个GPDB(greenplum-db-5.18.0(群集。然后遵循此链接,我成功地配置了Kerberos和HDFS Core XML,以及PXF Service Startup成功。当我运行指向远程HDFS文件的查询时,它不断提供错误日志:

SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.VerifyError: Bad return type
Exception Details:
  Location:
    org/apache/hadoop/hdfs/DFSClient.getQuotaUsage(Ljava/lang/String;)Lorg/apache/hadoop/fs/QuotaUsage; @160: areturn
  Reason:
    Type 'org/apache/hadoop/fs/ContentSummary' (current frame, stack[0]) is not assignable to 'org/apache/hadoop/fs/QuotaUsage' (from method signature)
  Current Frame:
    bci: @160
    flags: { }
    locals: { 'org/apache/hadoop/hdfs/DFSClient', 'java/lang/String', 'org/apache/hadoop/ipc/RemoteException', 'java/io/IOException' }

PXF服务以OpenJDK 1.8.0_131启动。我们的HDFS群集基于Hadoop MDH 2.6.0.4,因此我将Hadoop-*2.6.0-mdh2.6.0.4.4.jar放入$ pxf_conf/lib中,而GPDB 5.18本身基于Hadoop 2.8.5。这是此错误的冲突吗?

我发现了一个错误的问题,但没有确定的解决方案:线程中的异常。java.lang.verifyError:操作数堆栈上的不良类型

顺便说一句,我是否错过了使用PXF访问HDFS文件的其他内容,例如通过GPConfig设置Hadoop版本,该文件在指南文档中未提及。

pxf与Cloudera,Hortonworks数据平台,MAPR和通用Apache Hadoop发行版兼容。Microsoft的(Microsoft的Hadoop(MDH((不在发行说明中。

https://gpdb.docs.pivotal.io/5180/pxf/client_instcfg.html

尝试清理$ pxf_conf/lib文件夹。通常,我们运送的库足以连接到大多数Hadoop发行版。我建议您尝试以下操作:

$ rm -rf $PXF_CONF/lib/*
$ $PXF_HOME/bin/pxf restart

如果您在多键集群集上,则需要从$ pxf_conf/lib/手动删除JAR文件,然后在每个片段主机上手动,然后重新启动PXF群集。

最新更新