Check the version of Java used by PXF in the cluster.
In the Example below it shows that PXF is using Java 1.8.0:
[gpadmin@mdw ~]$ ps -aef | egrep pxf
gpadmin 25853 1 0 May22 ? 00:05:01 /usr/java/default/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -Xmx2g -Xms1g -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -Dlogging.config=/home/gpadmin/pxf/conf/pxf-log4j2.xml -XX:OnOutOfMemoryError=/usr/local/pxf-gp6/bin/kill-pxf.sh %p -jar /usr/local/pxf-gp6/application/pxf-app-6.3.1.jar --spring.config.location=classpath:/application.properties,file:/home/gpadmin/pxf/conf/pxf-application.properties
[gpadmin@mdw ~]$
[gpadmin@mdw ~]$ /usr/java/default/bin/java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
The current Hadoop jar file libraries delivered with PXF are incompatible with Java 11 in some cases.
If the Java version used is Java 11, install Java 1.8 on all the hosts in the cluster in the same location.
The tar file can be downloaded fromĀ
https://www.oracle.com/ie/java/technologies/javase/javase8-archive-downloads.htmlEdit the file
${PXF_BASE}/conf/pxf-env.sh and change the JAVA_HOME environment variable to the location of the "jre" directory of the installed Java 1.8
Example:
Install Java 1.8 from the downloaded tar file to /usr/java_1.8
The "jre" directory with be "/usr/java_1.8/jdk1.8.0_202/jre".
In the pxf-env.sh file change JAVA_HOME to be:
export JAVA_HOME=/usr/java_1.8/jdk1.8.0_202/jre