pmr-env.sh reference

The pmr-env.sh configuration file applies only to MapReduce workload, which is available only with the IBM® Spectrum Symphony Advanced Edition. An entitlement key is required to enable the MapReduce framework.

The pmr-env.sh file adopts a shell-script format similar to Hadoop's hadoop-env.sh and sets up the environment for MapReduce applications in IBM Spectrum Symphony. The settings in this file apply only to the local host.

Important: If you define settings for an application as environment variables in the Service > osTypes > osType > env section of the application profile, the values that are defined in the application profile override the corresponding values defined in pmr-env.sh.

Location

This file is installed with IBM Spectrum Symphony at $SOAM_HOME/mapreduce/conf.

Environment variables

Environment variable Description
JAVA_HOME Specifies the directory where the correct JRE (Java™ runtime environment) version is installed on your host. The MapReduce framework in IBM Spectrum Symphony requires Oracle Java 1.6 or later.
HADOOP_VERSION Specifies the version of Hadoop installed in your cluster.

For Hadoop use 2_7_2 = version 2.7.2.

For Cloudera Distribution including Hadoop (CDH), use cdh5.5.1 = CDH 5.5.1

PMR_EXTERNAL_CONFIG_PATH Specifies the configuration directory of third-party installations to be added to the Java class path. Use this variable to define the configuration directory to, for example, your Hadoop and HBase installations.
JVM_OPTIONS Specifies options to configure your JVM (Java virtual machine). If you are using IBM JRE, add the -Xshareclasses option to improve performance (see IBM Java documentation for suboptions).
PMR_SERVICE_DEBUG_PORT Specifies the port that is used to debug the map, reduce, and combine functions of the MapReduce service while the service is running in its test or production environment and relates to live service debugging.
PMR_MRSS_SHUFFLE_CLIENT_PORT Specifies the port that is used by the shuffle service (mrss), which is by default BASEPORT+10. If you use the default base port of 7869, the shuffle service port is 7879.
Note: The shuffle service port is listed in pmr-env.sh and in $EGO_ESRVDIR/esc/conf/services/mrss.xml. If you change the port, ensure that you update the port number in both configuration files.
PMR_MRSS_SHUFFLE_DATA_WRITE_PORT Specifies the port that is used by the shuffle service (mrss) for data writes, which is by default BASEPORT+11. If you use the default base port of 7869, the shuffle service port for data writes is 7880.
Note: The shuffle service port is listed in pmr-env.sh and in $EGO_ESRVDIR/esc/conf/services/mrss.xml. If you change the port, ensure that you update the port number in both configuration files.
PYTHON_PATH Specifies the directory where Python is installed on your host.
PATH Specifies the directories to executables on your host.
USER_CLASSPATH Specifies the directory to user Java class files, JAR files, or both.
JAVA_LIBRARY_PATH Specifies the directory from where the MapReduce client and service (MRService) load native libraries.
CLOUDERA_HOME Specifies the directory where Cloudera's Distribution including Hadoop (CDH) is installed.

Example

#!/usr/bin/env bash
#Set IBM Platform MapReduce environment variables here.

# The Java implementation to use 
export JAVA_HOME=/opt/java/jre1.6.0_25_64bits/

# The version of Hadoop 
export HADOOP_VERSION=1_0_0

# The configuration file path which will be added to the Java classpath; e.g. $HADOOP_HOME/conf
export PMR_EXTERNAL_CONFIG_PATH=/exampleuser/hadoop-1.0.0/conf

# The JVM options. If using IBM JRE, add '-Xshareclasses' to improve performance (see IBM Java documentation for details).
export JVM_OPTIONS=-Xmx512m

# The port used to debug the map, reduce, and combine functions of the MapReduce service while it is running in its test or production environment
export PMR_SERVICE_DEBUG_PORT=

# The port used by the shuffle service (mrss). If you change the value here, ensure that you also change the value in the $EGO_ESRVDIR/esc/conf/services/mrss.xml file.
export PMR_MRSS_SHUFFLE_CLIENT_PORT=35010

# The port used by the shuffle service (mrss) for data writes
export PMR_MRSS_SHUFFLE_DATA_WRITE_PORT=35012

# The path to your Python installation
export PYTHON_PATH=/bin:/usr/bin:/usr/local/bin

# The path to executable programs
export PATH=${PATH}:${JAVA_HOME}/bin:${PYTHON_PATH}

# The user classpath which will be added to the Java classpath
export USER_CLASSPATH=

#The path where the Platform MapReduce client and the MapReduce service load native libraries
export JAVA_LIBRARY_PATH=/exampleuser/hadoop-1.0.0/lib/native/Linux-amd64-64/:/exampleuser/hadoop-1.0.0/lib/native/Linux-i386-32/

#The path to your Cloudera MapReduce installation
export CLOUDERA_HOME=/exampleuser/hadoop-1.0.0/