You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hawq.apache.org by "Alexander Denissov (JIRA)" <ji...@apache.org> on 2017/10/23 18:23:00 UTC

[jira] [Created] (HAWQ-1540) PXF should not accept parameters for init command

Alexander Denissov created HAWQ-1540:
----------------------------------------

             Summary: PXF should not accept parameters for init command
                 Key: HAWQ-1540
                 URL: https://issues.apache.org/jira/browse/HAWQ-1540
             Project: Apache HAWQ
          Issue Type: Improvement
          Components: PXF
            Reporter: Alexander Denissov
            Assignee: Ed Espino


Currently PXF accepts --hadoop-home parameter for init command, which is used in greenplum-embedded deployment to specify where Hadoop client artifacts are installed. The desired behavior is:
- do not accept any parameters during init command
- rely on configuration provided by conf/pxf-env.sh file
- introduce new HADOOP_DISTRO variable that can take the following values: [<empty>, HDP, CDH, CUSTOM]
- when the value is empty -- the script will check for existence of RPM-installed HDP hadoop-client in /usr/hdp/current/hadoop-client/client and if found, will use HDP-specific private classpath template to generate new pxf-private.classpath file. If not found, the script will check for existence of RPM-installed CDH hadoop-client in /usr/lib/hadoop/client and if found, will use CDH-specific private classpath template to generate new pxf-private.classpath file. If none were found, the script will check for a TAR-installed hadoop client in the directory specified by the new variable HADOOP_ROOT under ${HADOOP_ROOT}/hadoop/share/hadoop/common/lib. If found, the script will use TAR-specific private classpath template to generate new pxf-private.classpath file. That template assumes Hadoop client (and optionally Hive and HBase clients) are installed under a common directorythat is pointed to by HADOOP_ROOT variable. A user will have to specify this variable or edit the pxf-env.sh config file before attempting pxf init command. If HADOOP_ROOT is not set of  ${HADOOP_ROOT}/hadoop/share/hadoop/common/lib directory does not exist, the script will error out.
- when the value is HDP -- the script will check for existence of RPM-installed HDP hadoop-client in /usr/hdp/current/hadoop-client/client and if found, will use HDP-specific private classpath template to generate new pxf-private.classpath file. If not found, the script will check for TAR-installed distribution as described above.
- when the value is CDH -- the script will check for existence of RPM-installed CDH hadoop-client in /usr/lib/hadoop/client and if found, will use CDH-specific private classpath template to generate new pxf-private.classpath file. If not found, the script will check for TAR-installed distribution as described above.
- when the value is CUSTOM -- the script will check for TAR-installed distribution as described above, except it will not error out if HADOOP_ROOT is not set or points to a non-existing directory. If HADOOP_ROOT is set, the value will be substituted in tar-based template, even if the directory does not yet exist. If HADOOP_ROOT is not set, the tar-based template is copied to the conf/pxf-private.classpath file and the user will have to perform the editing of this file.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)