User GuidesAPI ReferenceRelease Notes
Doc HomeHelp CenterLog In
User Guides

Working with the YARN Cluster Manager

You can configure the YARN cluster manager to run jobs in parallel and configure the system with resources for running multiple jobs concurrently.

important Important: The configuration described in this topic is supported only for scalable cloud-native deployments; it is not supported for single-node deployments.

Tamr Core uses the cluster manager from YARN for running Spark jobs, instead of the standalone cluster manager from Spark. The YARN cluster manager starts up a ResourceManager and NodeManager servers.

To see the list of all Spark jobs that have been submitted to the cluster manager, access the YARN Resource Manager at its Web UI port.

YARN-Related Logs

Server logs are stored in the TAMR_LOG_DIR, which defaults to tamr/logs.

The logs for Spark jobs are stored in the TAMR_LOG_DIR/userlogs directory.

YARN Ports

By default, Tamr Core uses the following ports for YARN:

TAMR_YARN_RESOURCE_MANAGER_RESOURCE_TRACKER_PORT: "8031"
TAMR_YARN_RESOURCE_MANAGER_WEBUI_PORT: "8088"
TAMR_YARN_RESOURCE_MANAGER_PORT: "8032"
TAMR_YARN_RESOURCE_MANAGER_WEBUI_HTTPS_PORT: "8090"
TAMR_YARN_RESOURCE_MANAGER_SCHEDULER_PORT: "8030"
TAMR_YARN_RESOURCE_MANAGER_ADMIN_PORT: "8033"
TAMR_YARN_NODE_MANAGER_PORT: "8042"

Note: The next section lists additional ports.

You can specify different YARN ports. For information, see Configuring Tamr Core.

YARN Configuration Properties

The YARN cluster manager uses the following configuration properties in Tamr Core. You can optionally specify your own values for these properties on a cloud-native deployment. For single-node deployments, Tamr recommends that you use the defaults listed below.

This list also includes some of the YARN ports. The previous section lists the defaults for these ports.

Configuration VariableDescription
TAMR_YARN_RESOURCE_MANAGER_HOSTThe hostname of the Spark YARN ResourceManager. This variable configures the hostname of the ResourceManager. The default is the same hostname as the HOST_IP that you can determine by running hostname -I.
TAMR_YARN_NODE_MANAGER_HOSTThe hostname of the Spark YARN NodeManager. The default is the same hostname as the HOST_IP that you can determine by running hostname -I.
TAMR_YARN_NODE_MANAGER_PORTThe port of the Spark YARN NodeManager. The default port is 8042.
TAMR_YARN_TEMP_DIRThe directory for storing temporary files produced by YARN.
Specify this location if you need to control access to it. The default value is TAMR_HADOOP_HOME/temp.
TAMR_JOB_SPARK_YARN_QUEUEThe name of the YARN queue for submitting Spark jobs. No default is provided. By default Spark jobs are submitted to an empty queue.
TAMRYARN_SCHEDULER_CAPACITY MAXIMUM_AM_RESOURCE_PERCENTThe maximum percentage of resources that can be used to run application masters (AM) in the YARN cluster. It allows you to control the number of applications running concurrently. The default is 1.0. When set to 1.0, this means that all AMs can take as much as possible total memory (100%). Use the default for single-node Tamr deployments running on the YARN cluster. Possible values are between 0.0 and 1.0, inclusive.
TAMR_JOB_SPARK_LOCAL_YARN_JARSA list of paths to JAR files that the YARN cluster manager uses with a local filesystem. You can list multiple paths with a semicolon separator, and use glob patterns for the paths. The default is TAMR_SPARK_HOME/jars/*.

Note: Do not change the TAMR_JOB_SPARK_LOCAL_YARN_JARS property on a standard single-node deployment.

See Configuration Variable Reference for a complete list of Tamr Core configuration variables.

Adjusting the Spark Memory

You can adjust the Spark memory resources in TAMR_SPARK_MEMORY based on the following formula. By default, this property accounts for the necessary overhead for running Spark jobs in the YARN cluster manager.

TAMR_SPARK_MEMORY >= 1.1 * x * TAMR_JOB_SPARK_EXECUTOR_INSTANCES + 1.1 * y

Where:

  • x represents TAMR_JOB_SPARK_EXECUTOR_MEM per instance, in GB.
  • y represents TAMR_JOB_SPARK_DRIVER_MEM per instance, in GB.

Tamr Core rounds every computation up to a whole number of GBs. This formula also applies to the Spark resource properties that you can specify in the TAMR_JOB_SPARK_CONFIG_OVERRIDES configuration parameter for Tamr Core.