Installing the Data Fabric Client on Mac OS X (Non-FIPS)

This section describes how to install the Data Fabric client on Mac OS X.

Limitation: Under OS X, the getgroups command returns a maximum of 16 groups for a user. If the Mac OS user for which you are installing the client attempts to read or write to a Data Fabric filesystem resource as a member of a group that was not included in the list of 16 groups returned by getgroups, file permission errors may result.
  1. Install the OpenSSL 1.1.1 package and add paths to the OpenSSL 1.1.1 command and dynamic libraries, as described in Installing OpenSSL 1.1.1 for the Mac Client.
  2. Install or update bash to ensure that the bash version is 4.0.0 or higher:
    brew install bash
  3. Install or update gnu-getopt, which is needed to configure Hadoop later in this procedure:
    brew install gnu-getopt
  4. Create the /opt directory: sudo mkdir -p /opt

  5. Download the file for the version that you want to install:
    IMPORTANT
    To access the Data Fabric internet repository, you must specify the user name (email) and token of an HPE Passport account. For more information, see Using the HPE Ezmeral Token-Authenticated Internet Repository.
    https://package.ezmeral.hpe.com/releases/<version>/mac/<mapr-client package name>
  6. Open the Terminal application.

  7. Import the package keys to enable signature verification:
    wget --user=<email> --password=<token> -O /tmp/maprgpg.key -q https://package.ezmeral.hpe.com/releases/pub/maprgpg.key && rpm --import /tmp/maprgpg.key
    wget --user=<email> --password=<token> -O /tmp/hpeezdf.pub -q https://package.ezmeral.hpe.com/releases/pub/hpeezdf.pub && rpm --import /tmp/hpeezdf.pub && gpg --import /tmp/hpeezdf.pub 
    Optionally, you may use commands to verify the signatures before installing the software. For more information, see HPE GPG Public Keys for GPG or RPM Signature Verification.
  8. Extract mapr-client-<version>.tar.gz into the /opt directory:

    sudo tar -C /opt -zxf mapr-client-<version>.tar.gz*
  9. Make sure the client is running JDK 11 or later:
    $ echo $JAVA_HOME
    /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
    $ /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/bin/java -version
    openjdk version "11.0.1" 2018-10-16
    OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
  10. Before running configure.sh, make sure that JAVA_HOME is set correctly for the client in the following script: /opt/mapr/conf/env.sh

    For example:
    $ export JAVA_HOME=$(/usr/libexec/java_home)
  11. To use this client with a secure cluster or clusters, copy the following files from the /opt/mapr/conf directory on the cluster to the /opt/mapr/conf directory on the client:
    • ssl_truststore
    • ssl-client.xml
    • maprtrustcreds.jceks
    • maprtrustcreds.conf

    If this client will connect to multiple clusters, you must merge the ssl_truststore files on the server by using the /opt/mapr/server/manageSSLKeys.sh tool, and then copy the merged file to /opt/mapr/conf on the client. For an example of merging the ssl_truststore files, see step 3 in Configuring Secure Clusters for Running Commands Remotely.

  12. Run configure.sh to configure the client. On the Mac client, you must run configure.sh from the /usr/local/bin/bash directory. In the following examples:
    -N (uppercase) Specifies the cluster name
    -c (lowercase) Specifies a client configuration
    -secure Indicates that the cluster is secure
    -C (uppercase) Specifies the CLDB nodes
    -HS Specifies the HistoryServer node
    To ensure that the client can connect in the event of a CLDB node failure, all CLDB nodes are specified. For more information about the syntax, parameters, and behavior of configure.sh, see configure.sh.
    Secure cluster example
    sudo /usr/local/bin/bash /opt/mapr/server/configure.sh -N my.cluster.com -c -secure -C mynode01:7222,mynode02:7222,mynode03:7222
    Non-secure cluster example
    sudo /usr/local/bin/bash /opt/mapr/server/configure.sh -N my.cluster.com -c -C mynode01:7222,mynode02:7222,mynode03:7222 -HS nodeA
    NOTE

    If the cluster was configured with a cluster-admin user:group that is different from the default mapr:mapr value, you must include options to specify the cluster-admin user and group information when you run configure.sh to configure the client.

    If the cluster-admin user ID is present on the client node, include these options:
    • -u
    • -g
    If the cluster-admin user ID is not present on the client node, include these options:
    • -u
    • -g
    • --create-user | -a
    • -U
    • -G
  13. At the end of the client installation, run the maprlogin password command to create a valid ticket to connect to the cluster.

  14. Configure Hadoop to enable Hadoop jobs to run on the Mac OS client:
    /opt/mapr/hadoop/hadoop-2.7.6/bin/configure.sh --unsecure -EC "-HS centos.cluster.com --client"
For information about running Hadoop commands on Mac OS X, see Running Hadoop Commands on a Mac and Windows Client.