blob: b75269a2e5ed1f2b0609f6ed949466bb87a47637 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.tez.dag.api;
import org.apache.hadoop.classification.InterfaceAudience.Private;
/**
* Specifies all constant values in Tez
*/
@Private
public class TezConstants {
public static final String TEZ_APPLICATION_MASTER_CLASS =
"org.apache.tez.dag.app.DAGAppMaster";
/**
* Command-line argument to be set when running the Tez AM in session mode.
*/
public static final String TEZ_SESSION_MODE_CLI_OPTION = "session";
public static final String TEZ_TAR_LR_NAME = "tezlib";
/*
* Tez AM Service Authorization
* These are the same as MR which allows Tez to run in secure
* mode without configuring service ACLs
*/
public static final String
TEZ_AM_SECURITY_SERVICE_AUTHORIZATION_TASK_UMBILICAL =
"security.job.task.protocol.acl";
public static final String
TEZ_AM_SECURITY_SERVICE_AUTHORIZATION_CLIENT =
"security.job.client.protocol.acl";
public static final String TEZ_PB_BINARY_CONF_NAME = "tez-conf.pb";
public static final String TEZ_PB_PLAN_BINARY_NAME = "tez-dag.pb";
public static final String TEZ_PB_PLAN_TEXT_NAME = "tez-dag.pb.txt";
/*
* Logger properties
*/
public static final String TEZ_CONTAINER_LOG4J_PROPERTIES_FILE = "tez-container-log4j.properties";
public static final String TEZ_CONTAINER_LOGGER_NAME = "CLA";
public static final String TEZ_ROOT_LOGGER_NAME = "tez.root.logger";
public static final String TEZ_CONTAINER_LOG_FILE_NAME = "syslog";
public static final String TEZ_CONTAINER_ERR_FILE_NAME = "stderr";
public static final String TEZ_CONTAINER_OUT_FILE_NAME = "stdout";
public static final String TEZ_CONTAINER_LOG_PARAMS = "TEZ_CONTAINER_LOG_PARAMS";
public static final String TEZ_CONTAINER_LOG_PARAMS_SEPARATOR = ";";
public static final String TEZ_AM_LOCAL_RESOURCES_PB_FILE_NAME =
TezConfiguration.TEZ_SESSION_PREFIX + "local-resources.pb";
public static final String TEZ_APPLICATION_TYPE = "TEZ";
/**
* The service id for the NodeManager plugin used to share intermediate data
* between vertices.
*/
public static final String TEZ_SHUFFLE_HANDLER_SERVICE_ID = "mapreduce_shuffle";
public static final String TEZ_PREWARM_DAG_NAME_PREFIX = "TezPreWarmDAG";
public static final String DAG_RECOVERY_DATA_DIR_NAME = "recovery";
public static final String DAG_RECOVERY_SUMMARY_FILE_SUFFIX = "summary";
public static final String DAG_RECOVERY_RECOVER_FILE_SUFFIX = ".recovery";
// Configuration keys used internally and not set by the users
// These are session specific DAG ACL's. Currently here because these can only be specified
// via code in the API.
/**
* DAG view ACLs. This allows the specified users/groups to view the status of the given DAG.
*/
public static final String TEZ_DAG_VIEW_ACLS = TezConfiguration.TEZ_AM_PREFIX + "dag.view-acls";
/**
* DAG modify ACLs. This allows the specified users/groups to run modify operations on the DAG
* such as killing the DAG.
*/
public static final String TEZ_DAG_MODIFY_ACLS = TezConfiguration.TEZ_AM_PREFIX + "dag.modify-acls";
public static final long TEZ_DAG_SLEEP_TIME_BEFORE_EXIT = 5000;
/// Version-related Environment variables
public static final String TEZ_CLIENT_VERSION_ENV = "TEZ_CLIENT_VERSION";
private static final String TEZ_AM_SERVICE_PLUGIN_NAME_YARN_CONTAINERS = "TezYarn";
private static final String TEZ_AM_SERVICE_PLUGIN_NAME_IN_AM = "TezUber";
public static String getTezYarnServicePluginName() {
return TEZ_AM_SERVICE_PLUGIN_NAME_YARN_CONTAINERS;
}
public static String getTezUberServicePluginName() {
return TEZ_AM_SERVICE_PLUGIN_NAME_IN_AM;
}
/**
* Minimum heartbeat timeout value for the Client to AM heartbeat.
*/
public static final int TEZ_AM_CLIENT_HEARTBEAT_TIMEOUT_SECS_MINIMUM = 10;
/**
* Minimum polling interval used for the client-AM heartbeat.
*/
public static final long TEZ_AM_CLIENT_HEARTBEAT_POLL_INTERVAL_MILLIS_MINIMUM = 1000;
/**
* For container JVM Xmx auto determination
*/
public static final int TEZ_CONTAINER_SMALL_SLAB_BOUND_MB = 4096;
public static final double TEZ_CONTAINER_MAX_JAVA_HEAP_FRACTION_SMALL_SLAB = 0.7;
public static final double TEZ_CONTAINER_MAX_JAVA_HEAP_FRACTION_LARGE_SLAB = 0.8;
}