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 MapR 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 MapRMapR Data Platform, 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 MapRMapR Data Platform to certain subnets, MapRMapR Data Platform clients have full access to the MapRMapR Data Platform cluster on the designated subnets.

Setting the MAPR_EXTERNAL Environment Variable

About this task

To specify the external IP addresses of CLDB, MapR 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 MapRMapR Data Platform, 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 MapR File System node is the following:

10.10.103.80,10.10.30.205

External clients can connect to MapR File System on IPs 10.10.103.80, 10.10.30.205 and the ports on which the MapR File System is reachable are the default ports. If MapR 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 MapR 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 MapR File System is also running on this node, then both MapR 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.