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)

Reply via email to