Setting Environment Variables for NIC Segregation

Describes how to set environment variables to segregate NICs.

About this task

Use the MAPR_SUBNETS and MAPR_EXTERNAL environment variables to segregate NICs for internal and external clients, or to segregate NICs for high-performance and low-performance clients.

Setting the MAPR_SUBNETS Environment Variable

About this task

To specify the internal IP addresses of CLDB and file system nodes:

Procedure

  1. Stop warden on all the nodes on the cluster.
  2. Set the IP address range to use in the MAPR_SUBNETS environment variable in the /opt/mapr/conf/env_override.sh file. For more information about this file, see About env_override.sh.

    For example:

    export MAPR_SUBNETS=10.10.0.0/24

    To specify multiple subnets for HPE Ezmeral Data Fabric, use comma to separate the IP addresses.

    Before specifying the IP address, make sure the client and cluster nodes can communicate using that IP address. That is, ensure that the client can send packets and that they can be routed to all the interfaces of the cluster nodes, and the cluster nodes all have a route that reaches back to the client IP address.

    NOTE
    For standalone programs (not using the mapr classpath), which do not pick up the settings in the /opt/mapr/conf/env.sh file, set MAPR_SUBNETS explicitly before the start of program.
  3. Perform a rolling restart of warden on all the nodes for the changes to take effect.
  4. Add CLDB’s internal IP address (or IP address specified in the MAPR_SUBNETS environment variable on the CLDB host) to the mapr-clusters.conf file on the (internal or high-performance) client host(s).

    The mapr-clusters.conf file specifies IP addresses, on which the CLDB nodes (for one or more clusters) can be reached. For more information, see mapr-clusters.conf.

Results

When you restrict HPE Ezmeral Data Fabric to certain subnets, HPE Ezmeral Data Fabric clients have full access to the HPE Ezmeral Data Fabric cluster on the designated subnets.

Setting the MAPR_EXTERNAL Environment Variable

About this task

To specify the external IP addresses of CLDB, file system, and/or MAST Gateway nodes:

Procedure

  1. Stop warden on all the nodes on the cluster.
  2. Set the IP addresses to use for external communication or for low-performance clients in the MAPR_EXTERNAL environment variable in the /opt/mapr/conf/env_override.sh file. For more information about this file, see About env_override.sh.

    For example:

    export MAPR_EXTERNAL=10.11.0.0;

    To specify multiple subnets for HPE Ezmeral Data Fabric, use a comma to separate the IP addresses.

  3. Perform a rolling restart of warden on all the nodes for the changes to take effect.
  4. Add the following in the mapr-clusters.conf file on the (external or low-performance) client host(s):
    • CLDB’s external IP addresses, which is the IP addresses specified in the MAPR_EXTERNAL environment variable on the CLDB hosts.
    • CLDB’s external port, which is the value of the CLDB_EXTERNAL_RPC_PORT environment variable if this is set on the CLDB hosts. See Specifying Ports for CLDB for more information.

    The mapr-clusters.conf file contains the IP addresses, on which the CLDB nodes (for one or more clusters) can be reached. For more information, see mapr-clusters.conf.

Examples

Suppose the value for the MAPR_EXTERNAL environment variable on file system node is the following:

10.10.103.80,10.10.30.205

External clients can connect to file system on IPs 10.10.103.80, 10.10.30.205 and the ports on which the file system is reachable are the default ports. If file system is running 2 instances, then:

  • Instance 1 is reachable on 10.10.103.80:<5660>, 10.10.30.205:<5660>
  • Instance 2 is reachable on 10.10.103.80:<5661>, 10.10.30.205:<5661>

If file system is running 3 instances:

  • Instance 1 is reachable on 10.10.103.80:<5660>, 10.10.30.205:<5660>
  • Instance 2 is reachable on 10.10.103.80:<5661>, 10.10.30.205:<5661>
  • Instance 3 is reachable on 10.10.103.80:<5662>, 10.10.30.205:<5662>
Suppose the value for the MAPR_EXTERNAL environment variable on a MAST Gateway node is the following:
10.20.30.100
External clients can connect to MAST Gateway on IP 10.20.30.100 and the port on which MAST Gateway is reachable is the default port (8660). If file system is also running on this node, then both file system and MAST Gateway are reachable on the IP 10.20.30.100 and the ports on which they are reachable are the default ports.

Specifying External IP Address of ZooKeeper Nodes

About this task

To specify the external IP addresses of ZooKeeper nodes, during cluster configuration:

Procedure

Run the configure.sh utility as follows:
/opt/mapr/server/configure.sh -C <hostname|IP>[,<hostname|IP>,..] -Z <IP>[,<IP>..] \ 
-EZ <IP>[:<port>][,<IP>[:<port>]..] [-F <disk_list_file>] [-N <cluster_name>]
In the preceding command:
  • When each ZooKeeper node has a different external IP address, use the -EZ option to specify the IP address of each ZooKeeper node, and optionally the port as well (separated by a colon); the IP address can be different while the port number must be the same for every node.
  • When there are multiple ZooKeeper nodes listening on the same external IP (such as in a Docker container), use the -EZ option to specify IP address and port (separated by a colon); the port can be different while the IP address is the same for every node.
For more information, see Specifying Ports.