You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by ad...@apache.org on 2017/10/26 19:01:32 UTC
incubator-hawq git commit: HAWQ-1540. PXF should not accept
parameters for init command
Repository: incubator-hawq
Updated Branches:
refs/heads/master aba713218 -> d2d3eaf50
HAWQ-1540. PXF should not accept parameters for init command
Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/d2d3eaf5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/d2d3eaf5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/d2d3eaf5
Branch: refs/heads/master
Commit: d2d3eaf508ef0aabcca28b73faa910f343b392fc
Parents: aba7132
Author: Alexander Denissov <ad...@pivotal.io>
Authored: Wed Oct 18 13:57:03 2017 -0700
Committer: Alexander Denissov <ad...@pivotal.io>
Committed: Thu Oct 26 11:54:22 2017 -0700
----------------------------------------------------------------------
pxf/build.gradle | 4 +-
pxf/gradle/profiles/gpdb.properties | 2 +-
.../pxf-private-cdh.classpath.template | 82 +++++++++++
.../pxf-private-hdp.classpath.template | 82 +++++++++++
.../pxf-private-tar.classpath.template | 82 +++++++++++
.../templates/pxf-private.classpath.template | 81 ----------
.../service/utilities/CustomWebappLoader.java | 2 +-
pxf/pxf-service/src/scripts/pxf-env.sh | 13 +-
pxf/pxf-service/src/scripts/pxf-service | 147 +++++++++++--------
9 files changed, 346 insertions(+), 149 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/build.gradle
----------------------------------------------------------------------
diff --git a/pxf/build.gradle b/pxf/build.gradle
index 2a99231..996e693 100644
--- a/pxf/build.gradle
+++ b/pxf/build.gradle
@@ -270,8 +270,8 @@ project('pxf-service') {
fileMode 0755
fileType NOREPLACE
filter(ReplaceTokens,
- tokens: ['pxfLogDir' : databaseProperties.pxfLogDir,
- 'pxfRunDir' : databaseProperties.pxfRunDir,
+ tokens: ['pxfLogDir' : databaseProperties.pxfLogDir,
+ 'pxfRunDir' : databaseProperties.pxfRunDir,
'pxfDefaultUser': (databaseProperties.pxfDefaultUser == null ? "" : databaseProperties.pxfDefaultUser)])
into "/etc/pxf-${project.version}/conf"
}
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/gradle/profiles/gpdb.properties
----------------------------------------------------------------------
diff --git a/pxf/gradle/profiles/gpdb.properties b/pxf/gradle/profiles/gpdb.properties
index 90a8a60..df16372 100644
--- a/pxf/gradle/profiles/gpdb.properties
+++ b/pxf/gradle/profiles/gpdb.properties
@@ -16,4 +16,4 @@
# under the License.
pxfLogDir=${PXF_HOME}/logs
-pxfRunDir=${PXF_HOME}/run
\ No newline at end of file
+pxfRunDir=${PXF_HOME}/run
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/pxf-service/src/configs/templates/pxf-private-cdh.classpath.template
----------------------------------------------------------------------
diff --git a/pxf/pxf-service/src/configs/templates/pxf-private-cdh.classpath.template b/pxf/pxf-service/src/configs/templates/pxf-private-cdh.classpath.template
new file mode 100644
index 0000000..437ffaf
--- /dev/null
+++ b/pxf/pxf-service/src/configs/templates/pxf-private-cdh.classpath.template
@@ -0,0 +1,82 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+##################################################################
+# This file contains the internal classpaths required to run PXF
+# with RPM-based installation of hadoop clients from CDH distribution.
+# WARNING: DO NOT EDIT!
+# Any change in this file can result in PXF failing to run.
+# Adding resources should be done using pxf-public.classpath file.
+##################################################################
+
+# PXF Configuration
+PXF_HOME/conf
+
+# PXF Libraries
+PXF_HOME/lib/pxf-hbase.jar
+PXF_HOME/lib/pxf-hdfs.jar
+PXF_HOME/lib/pxf-hive.jar
+PXF_HOME/lib/pxf-json.jar
+PXF_HOME/lib/pxf-jdbc.jar
+
+# Hadoop/Hive/HBase configurations
+/etc/hadoop/conf
+/etc/hive/conf
+/etc/hbase/conf
+
+# Hadoop Libraries
+/usr/lib/hadoop/client/hadoop-hdfs.jar
+/usr/lib/hadoop/client/hadoop-mapreduce-client-core.jar
+/usr/lib/hadoop/client/hadoop-mapreduce-client-common.jar
+/usr/lib/hadoop/client/hadoop-auth.jar
+/usr/lib/hadoop/client/hadoop-common.jar
+/usr/lib/hadoop/client/avro.jar
+/usr/lib/hadoop/client/commons-cli.jar
+/usr/lib/hadoop/client/commons-codec.jar
+/usr/lib/hadoop/client/commons-collections.jar
+/usr/lib/hadoop/client/commons-configuration.jar
+/usr/lib/hadoop/client/commons-io.jar
+/usr/lib/hadoop/client/commons-lang.jar
+/usr/lib/hadoop/client/commons-logging.jar
+/usr/lib/hadoop/client/guava.jar
+/usr/lib/hadoop/client/htrace-core4.jar
+/usr/lib/hadoop/client/jackson-core.jar
+/usr/lib/hadoop/client/jackson-mapper-asl.jar
+/usr/lib/hadoop/client/jetty-*.jar
+/usr/lib/hadoop/client/jersey-core.jar
+/usr/lib/hadoop/client/log4j.jar
+/usr/lib/hadoop/client/protobuf-java-*[0-9].jar
+/usr/lib/hadoop/client/slf4j-api.jar
+/usr/lib/hadoop/client/snappy-java.jar
+/usr/lib/hadoop/lib/asm-*[0-9].jar
+/usr/lib/hadoop/lib/jersey-server-*[0-9].jar
+
+# Hive Libraries
+/usr/lib/hive/lib/antlr-runtime-*[0-9].jar
+/usr/lib/hive/lib/datanucleus-api-jdo-*[0-9].jar
+/usr/lib/hive/lib/datanucleus-core-*[0-9].jar
+/usr/lib/hive/lib/hive-exec.jar
+/usr/lib/hive/lib/hive-metastore.jar
+/usr/lib/hive/lib/jdo-api-*[0-9].jar
+/usr/lib/hive/lib/libfb303-*[0-9].jar
+
+# HBase Libraries
+/usr/lib/hbase/hbase-client.jar
+/usr/lib/hbase/hbase-common.jar
+/usr/lib/hbase/hbase-protocol.jar
+/usr/lib/hbase/lib/htrace-core.jar
+/usr/lib/hbase/lib/netty-*[0-9].Final.jar
+/usr/lib/hbase/lib/metrics-core*.jar
+/usr/lib/zookeeper/zookeeper.jar
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/pxf-service/src/configs/templates/pxf-private-hdp.classpath.template
----------------------------------------------------------------------
diff --git a/pxf/pxf-service/src/configs/templates/pxf-private-hdp.classpath.template b/pxf/pxf-service/src/configs/templates/pxf-private-hdp.classpath.template
new file mode 100644
index 0000000..da834a6
--- /dev/null
+++ b/pxf/pxf-service/src/configs/templates/pxf-private-hdp.classpath.template
@@ -0,0 +1,82 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+##################################################################
+# This file contains the internal classpaths required to run PXF
+# with RPM-based installation of hadoop clients from HDP distribution.
+# WARNING: DO NOT EDIT!
+# Any change in this file can result in PXF failing to run.
+# Adding resources should be done using pxf-public.classpath file.
+##################################################################
+
+# PXF Configuration
+PXF_HOME/conf
+
+# PXF Libraries
+PXF_HOME/lib/pxf-hbase.jar
+PXF_HOME/lib/pxf-hdfs.jar
+PXF_HOME/lib/pxf-hive.jar
+PXF_HOME/lib/pxf-json.jar
+PXF_HOME/lib/pxf-jdbc.jar
+
+# Hadoop/Hive/HBase configurations
+/etc/hadoop/conf
+/etc/hive/conf
+/etc/hbase/conf
+
+# Hadoop Libraries
+/usr/hdp/current/hadoop-client/client/hadoop-hdfs.jar
+/usr/hdp/current/hadoop-client/client/hadoop-mapreduce-client-core.jar
+/usr/hdp/current/hadoop-client/client/hadoop-mapreduce-client-common.jar
+/usr/hdp/current/hadoop-client/client/hadoop-auth.jar
+/usr/hdp/current/hadoop-client/client/hadoop-common.jar
+/usr/hdp/current/hadoop-client/client/avro.jar
+/usr/hdp/current/hadoop-client/client/commons-cli.jar
+/usr/hdp/current/hadoop-client/client/commons-codec.jar
+/usr/hdp/current/hadoop-client/client/commons-collections.jar
+/usr/hdp/current/hadoop-client/client/commons-configuration.jar
+/usr/hdp/current/hadoop-client/client/commons-io.jar
+/usr/hdp/current/hadoop-client/client/commons-lang.jar
+/usr/hdp/current/hadoop-client/client/commons-logging.jar
+/usr/hdp/current/hadoop-client/client/guava.jar
+/usr/hdp/current/hadoop-client/client/htrace-core.jar
+/usr/hdp/current/hadoop-client/client/jackson-core-asl.jar
+/usr/hdp/current/hadoop-client/client/jackson-mapper-asl.jar
+/usr/hdp/current/hadoop-client/client/jetty-*.jar
+/usr/hdp/current/hadoop-client/client/jersey-core.jar
+/usr/hdp/current/hadoop-client/client/log4j.jar
+/usr/hdp/current/hadoop-client/client/protobuf-java-*[0-9].jar
+/usr/hdp/current/hadoop-client/client/slf4j-api.jar
+/usr/hdp/current/hadoop-client/client/snappy-java.jar
+/usr/hdp/current/hadoop-client/lib/asm-*[0-9].jar
+/usr/hdp/current/hadoop-client/lib/jersey-server-*[0-9].jar
+
+# Hive Libraries
+/usr/hdp/current/hive-client/lib/antlr-runtime-*[0-9].jar
+/usr/hdp/current/hive-client/lib/datanucleus-api-jdo-*[0-9].jar
+/usr/hdp/current/hive-client/lib/datanucleus-core-*[0-9].jar
+/usr/hdp/current/hive-client/lib/hive-exec.jar
+/usr/hdp/current/hive-client/lib/hive-metastore.jar
+/usr/hdp/current/hive-client/lib/jdo-api-*[0-9].jar
+/usr/hdp/current/hive-client/lib/libfb303-*[0-9].jar
+
+# HBase Libraries
+/usr/hdp/current/hbase-client/lib/hbase-client.jar
+/usr/hdp/current/hbase-client/lib/hbase-common.jar
+/usr/hdp/current/hbase-client/lib/hbase-protocol.jar
+/usr/hdp/current/hbase-client/lib/htrace-core.jar
+/usr/hdp/current/hbase-client/lib/netty-*[0-9].Final.jar
+/usr/hdp/current/hbase-client/lib/metrics-core*.jar
+/usr/hdp/current/zookeeper-client/zookeeper.jar
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/pxf-service/src/configs/templates/pxf-private-tar.classpath.template
----------------------------------------------------------------------
diff --git a/pxf/pxf-service/src/configs/templates/pxf-private-tar.classpath.template b/pxf/pxf-service/src/configs/templates/pxf-private-tar.classpath.template
new file mode 100644
index 0000000..b1c5df0
--- /dev/null
+++ b/pxf/pxf-service/src/configs/templates/pxf-private-tar.classpath.template
@@ -0,0 +1,82 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+##################################################################
+# This file contains the internal classpaths required to run PXF
+# with tarball based installation of hadoop clients.
+# Edit to set the base paths according to your specific package layout
+# Adding new resources should be done using pxf-public.classpath file.
+##################################################################
+
+# PXF Configuration
+PXF_HOME/conf
+
+# PXF Libraries
+PXF_HOME/lib/pxf-hbase.jar
+PXF_HOME/lib/pxf-hdfs.jar
+PXF_HOME/lib/pxf-hive.jar
+PXF_HOME/lib/pxf-json.jar
+PXF_HOME/lib/pxf-jdbc.jar
+
+# Hadoop/Hive/HBase configurations
+HADOOP_ROOT/hadoop/etc/hadoop
+HADOOP_ROOT/hive/conf
+HADOOP_ROOT/hbase/conf
+
+# Hadoop Libraries
+HADOOP_ROOT/hadoop/share/hadoop/common/hadoop-common-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/hadoop-auth-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/asm-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/avro-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/commons-cli-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/commons-codec-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/commons-collections-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/commons-configuration-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/commons-io-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/commons-lang-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/commons-logging-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/guava-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/htrace-core*.jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/jetty-*.jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/jersey-core-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/jersey-server-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/log4j-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/protobuf-java-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/slf4j-api-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/common/lib/snappy-java-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/hdfs/hadoop-hdfs-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/hdfs/lib/jackson-core-asl-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/hdfs/lib/jackson-mapper-asl-*[0-9].jar
+HADOOP_ROOT/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-*[0-9].jar
+# CDH only Library
+HADOOP_ROOT/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-common-*[0-9].jar
+
+# Hive Libraries
+HADOOP_ROOT/hive/lib/antlr-runtime*.jar
+HADOOP_ROOT/hive/lib/datanucleus-api-jdo*.jar
+HADOOP_ROOT/hive/lib/datanucleus-core*.jar
+HADOOP_ROOT/hive/lib/hive-exec*.jar
+HADOOP_ROOT/hive/lib/hive-metastore*.jar
+HADOOP_ROOT/hive/lib/jdo-api*.jar
+HADOOP_ROOT/hive/lib/libfb303*.jar
+
+# HBase Libraries
+HADOOP_ROOT/hbase/lib/hbase-client*.jar
+HADOOP_ROOT/hbase/lib/hbase-common*.jar
+HADOOP_ROOT/hbase/lib/hbase-protocol*.jar
+HADOOP_ROOT/hbase/lib/htrace-core*.jar
+HADOOP_ROOT/hbase/lib/netty*.jar
+HADOOP_ROOT/hbase/lib/zookeeper*.jar
+HADOOP_ROOT/hbase/lib/metrics-core*.jar
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/pxf-service/src/configs/templates/pxf-private.classpath.template
----------------------------------------------------------------------
diff --git a/pxf/pxf-service/src/configs/templates/pxf-private.classpath.template b/pxf/pxf-service/src/configs/templates/pxf-private.classpath.template
deleted file mode 100644
index e3b3006..0000000
--- a/pxf/pxf-service/src/configs/templates/pxf-private.classpath.template
+++ /dev/null
@@ -1,81 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##################################################################
-# This file contains the internal classpaths required to run PXF.
-# Edit to set the base paths according to your specific package layout
-# Adding new resources should be done using pxf-public.classpath file.
-##################################################################
-
-# PXF Configuration
-PXF_HOME/conf
-
-# PXF Libraries
-PXF_HOME/lib/pxf-hbase.jar
-PXF_HOME/lib/pxf-hdfs.jar
-PXF_HOME/lib/pxf-hive.jar
-PXF_HOME/lib/pxf-json.jar
-PXF_HOME/lib/pxf-jdbc.jar
-
-# Hadoop/Hive/HBase configurations
-HADOOP_HOME/etc/hadoop
-HIVE_HOME/conf
-HBASE_HOME/conf
-
-# Hadoop Libraries
-HADOOP_HOME/share/hadoop/common/hadoop-common-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/hadoop-auth-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/asm-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/avro-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/commons-cli-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/commons-codec-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/commons-collections-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/commons-configuration-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/commons-io-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/commons-lang-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/commons-logging-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/guava-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/htrace-core*.jar
-HADOOP_HOME/share/hadoop/common/lib/jetty-*.jar
-HADOOP_HOME/share/hadoop/common/lib/jersey-core-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/jersey-server-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/log4j-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/protobuf-java-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/slf4j-api-*[0-9].jar
-HADOOP_HOME/share/hadoop/common/lib/snappy-java-*[0-9].jar
-HADOOP_HOME/share/hadoop/hdfs/hadoop-hdfs-*[0-9].jar
-HADOOP_HOME/share/hadoop/hdfs/lib/jackson-core-asl-*[0-9].jar
-HADOOP_HOME/share/hadoop/hdfs/lib/jackson-mapper-asl-*[0-9].jar
-HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-*[0-9].jar
-# CDH only Library
-HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-common-*[0-9].jar
-
-# Hive Libraries
-HIVE_HOME/lib/antlr-runtime*.jar
-HIVE_HOME/lib/datanucleus-api-jdo*.jar
-HIVE_HOME/lib/datanucleus-core*.jar
-HIVE_HOME/lib/hive-exec*.jar
-HIVE_HOME/lib/hive-metastore*.jar
-HIVE_HOME/lib/jdo-api*.jar
-HIVE_HOME/lib/libfb303*.jar
-
-# HBase Libraries
-HBASE_HOME/lib/hbase-client*.jar
-HBASE_HOME/lib/hbase-common*.jar
-HBASE_HOME/lib/hbase-protocol*.jar
-HBASE_HOME/lib/htrace-core*.jar
-HBASE_HOME/lib/netty*.jar
-HBASE_HOME/lib/zookeeper*.jar
-HBASE_HOME/lib/metrics-core*.jar
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/pxf-service/src/main/java/org/apache/hawq/pxf/service/utilities/CustomWebappLoader.java
----------------------------------------------------------------------
diff --git a/pxf/pxf-service/src/main/java/org/apache/hawq/pxf/service/utilities/CustomWebappLoader.java b/pxf/pxf-service/src/main/java/org/apache/hawq/pxf/service/utilities/CustomWebappLoader.java
index 7f45bf7..31ab696 100644
--- a/pxf/pxf-service/src/main/java/org/apache/hawq/pxf/service/utilities/CustomWebappLoader.java
+++ b/pxf/pxf-service/src/main/java/org/apache/hawq/pxf/service/utilities/CustomWebappLoader.java
@@ -217,7 +217,7 @@ public class CustomWebappLoader extends WebappLoader {
throw new FileNotFoundException(pathUriStr + " cannot be read");
}
addRepository(pathUriStr);
- LOG.debug("Repository " + pathUriStr + " added from entry " + entry);
+ LOG.info("Repository " + pathUriStr + " added from entry " + entry);
return true;
} catch (Exception e) {
LOG.warn("Failed to load path " + path + " to repository: " + e);
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/pxf-service/src/scripts/pxf-env.sh
----------------------------------------------------------------------
diff --git a/pxf/pxf-service/src/scripts/pxf-env.sh b/pxf/pxf-service/src/scripts/pxf-env.sh
index f33e61a..215a6b5 100644
--- a/pxf/pxf-service/src/scripts/pxf-env.sh
+++ b/pxf/pxf-service/src/scripts/pxf-env.sh
@@ -39,4 +39,15 @@ if [ ! -z '@pxfDefaultUser@' ]; then
fi
# Port
-export PXF_PORT=${PXF_PORT:-51200}
\ No newline at end of file
+export PXF_PORT=${PXF_PORT:-51200}
+
+# Hadoop Distribution Type (optional), supported values:
+# <empty> - for auto discovery of HDP, CDH or tarball based client installation
+# HDP - for HDP Hadoop client installation
+# CDH - for CDH Hadoop client installation
+# CUSTOM - for custom Hadoop client installation
+export HADOOP_DISTRO=${HADOOP_DISTRO}
+
+# Parent directory of Hadoop client installation (optional)
+# used in case of tarball-based installation when all clients are under a common parent directory
+export HADOOP_ROOT=${HADOOP_ROOT}
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/d2d3eaf5/pxf/pxf-service/src/scripts/pxf-service
----------------------------------------------------------------------
diff --git a/pxf/pxf-service/src/scripts/pxf-service b/pxf/pxf-service/src/scripts/pxf-service
index ca1b34c..60d46c3 100644
--- a/pxf/pxf-service/src/scripts/pxf-service
+++ b/pxf/pxf-service/src/scripts/pxf-service
@@ -57,6 +57,13 @@ fi
curl=`which curl`
+# print error message and return with error code
+function fail()
+{
+ echo "ERROR: $1"
+ exit 1
+}
+
#
# createInstance creates a tomcat instance
# configuration files
@@ -206,24 +213,13 @@ function doInit()
echo WARNING: instance already exists in $instance_root, nothing to do...
return 0
fi
- # Generate private classpath file only if user specified hadoop_home option
- # Otherwise use default file
- if [ ! -z $hadoop_home ]; then
- generatePrivateClasspath || return 1
- else
- if [ ! -z $hbase_home ]; then
- echo WARNING: hbase_home option will be ignored, please specify hadoop_home
- fi
- if [ ! -z $hive_home ]; then
- echo WARNING: hive_home option will be ignored, please specify hadoop_home
- fi
- fi
+ determineHadoopDistro
+ generatePrivateClasspath || return 1
createInstance || return 1
configureInstance || return 1
deployWebapp || return 1
createLogsDir || return 1
createRunDir || return 1
-
}
#
@@ -292,38 +288,90 @@ function createRunDir()
return 0
}
+function check_hadoop_install()
+{
+ local distro_type=${1}
+ case "${distro_type}" in
+ hdp|HDP)
+ if [ -d "/usr/hdp/current/hadoop-client/client" ]; then
+ DISTRO="hdp"
+ return 0;
+ fi
+ ;;
+ cdh|CDH)
+ if [ -d "/usr/lib/hadoop/client" ]; then
+ DISTRO="cdh"
+ return 0;
+ fi
+ ;;
+ tar|TAR)
+ if [ -n "${HADOOP_ROOT}" ] && [ -d "${HADOOP_ROOT}/hadoop/share/hadoop/common/lib" ]; then
+ DISTRO="tar"
+ return 0;
+ fi
+ ;;
+ custom|CUSTOM)
+ # use tarball template for custom distro, do not require HADOOP_ROOT to be set
+ DISTRO="tar"
+ return 0;
+ ;;
+ *)
+ fail "Unknown hadoop distribution type: HADOOP_DISTRO=${distro_type}"
+ ;;
+ esac
+ # the distro type was not found installed, return failure code
+ return 1
+}
+
+function determineHadoopDistro()
+{
+ DISTRO=""
+ # check if the distro is explicitly specified
+ if [ -z "${HADOOP_DISTRO}" ]; then
+ # if distro is not specified, try checking for HDP and then CDH
+ check_hadoop_install "hdp" || check_hadoop_install "cdh"
+ else
+ # check distro specified in the config file
+ check_hadoop_install "${HADOOP_DISTRO}"
+ fi
+
+ # if still not determined, check tarball-based install
+ if [ -z "${DISTRO}" ]; then
+ check_hadoop_install "tar"
+ # if still unknown, then error out
+ if [ -z "${DISTRO}" ]; then
+ fail "Can not determine Hadoop distribution, please install Hadoop clients."
+ fi
+ fi
+}
+
function generatePrivateClasspath()
{
- echo "Generating private classpath file..."
- #Create intial version of the file
- sed -e "s|PXF_HOME|$PXF_HOME|g" $PXF_HOME/conf-templates/pxf-private.classpath.template > $PXF_HOME/conf/pxf-private.classpath
- #Make sure $hadoop_home is defined
- if [ -z $hadoop_home ]; then
- echo ERROR: cant generate private classpath without hadoop_home value
- return 1
+ # distro must have been determined by now, but double check
+ if [ -z "${DISTRO}" ]; then
+ fail "Hadoop distribution was not determined"
fi
- #Substitute HADOOP_HOME value
- sed -i -e "s|HADOOP_HOME|$hadoop_home|g" $PXF_HOME/conf/pxf-private.classpath
- if [ ! -z $hbase_home ]; then
- #Substitute HBASE_HOME if hbase_home was set
- sed -i -e "s|HBASE_HOME|$hbase_home|g" $PXF_HOME/conf/pxf-private.classpath
- else
- #Delete lines with HBASE_HOME if hbase_home wasn't set
- sed -i -e "/HBASE_HOME/d" $PXF_HOME/conf/pxf-private.classpath
+
+ # verify that a template file for the distribution exists
+ local template_file="${PXF_HOME}/conf-templates/pxf-private-${DISTRO}.classpath.template"
+ if [ ! -f "${template_file}" ]; then
+ fail "Template file ${template_file} not found"
fi
- if [ ! -z $hive_home ]; then
- #Substitute HIVE_HOME if hive_home was set
- sed -i -e "s|HIVE_HOME|$hive_home|g" $PXF_HOME/conf/pxf-private.classpath
- else
- #Delete lines with HIVE_HOME if hive_home wasn't set
- sed -i -e "/HIVE_HOME/d" $PXF_HOME/conf/pxf-private.classpath
+
+ echo "Generating ${PXF_HOME}/conf/pxf-private.classpath file from ${template_file} ..."
+
+ # create initial version of the file by replacing PXF_HOME token (applicable to all templates)
+ sed -e "s|PXF_HOME|${PXF_HOME}|g" ${template_file} > ${PXF_HOME}/conf/pxf-private.classpath
+
+ # substitute HADOOP_ROOT value if defined
+ if [ -n "${HADOOP_ROOT}" ]; then
+ sed -i -e "s|HADOOP_ROOT|${HADOOP_ROOT}|g" ${PXF_HOME}/conf/pxf-private.classpath
fi
}
function printUsage()
{
- echo $"Usage: $0 {start|stop|restart|init --hadoop-home HADOOP_LOCATION [--hive-home HIVE_LOCATION --hbase-home HBASE_LOCATION]|status}"
-
+ echo $"Usage: $0 {start|stop|restart|init|status}"
}
function validateParameters()
@@ -361,8 +409,6 @@ function validateParameters()
exit 1
fi
-
-
# validate JAVA_HOME
if [ ! -x $JAVA_HOME/bin/java ]; then
echo ERROR: \$JAVA_HOME is invalid
@@ -415,31 +461,6 @@ command=$1
case "$command" in
"init" )
- shift
- while [[ $# -gt 1 ]]
- do
- name="$1"
- value="$2"
- case $name in
- --hadoop-home)
- hadoop_home="$2"
- shift
- ;;
- --hive-home)
- hive_home="$2"
- shift
- ;;
- --hbase-home)
- hbase_home="$2"
- shift
- ;;
- *)
- echo "$name is an unknown option"
- printUsage
- exit 1
- esac
- shift
- done
validateParameters
doInit
;;