org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig.java Source code

Java tutorial

Introduction

Here is the source code for org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig.java

Source

/**
* 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.hadoop.mapreduce.v2.jobhistory;

import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.fs.CommonConfigurationKeysPublic;
import org.apache.hadoop.http.HttpConfig;

/**
 * Stores Job History configuration keys that can be set by administrators of
 * the Job History server.
 */
@InterfaceAudience.Private
@InterfaceStability.Evolving
public class JHAdminConfig {
    /** The prefix to all Job History configuration properties.*/
    public static final String MR_HISTORY_PREFIX = "mapreduce.jobhistory.";

    /** host:port address for History Server API.*/
    public static final String MR_HISTORY_ADDRESS = MR_HISTORY_PREFIX + "address";
    public static final int DEFAULT_MR_HISTORY_PORT = 10020;
    public static final String DEFAULT_MR_HISTORY_ADDRESS = "0.0.0.0:" + DEFAULT_MR_HISTORY_PORT;
    public static final String MR_HISTORY_BIND_HOST = MR_HISTORY_PREFIX + "bind-host";

    /** The address of the History server admin interface. */
    public static final String JHS_ADMIN_ADDRESS = MR_HISTORY_PREFIX + "admin.address";
    public static final int DEFAULT_JHS_ADMIN_PORT = 10033;
    public static final String DEFAULT_JHS_ADMIN_ADDRESS = "0.0.0.0:" + DEFAULT_JHS_ADMIN_PORT;

    /** ACL of who can be admin of Job history server. */
    public static final String JHS_ADMIN_ACL = MR_HISTORY_PREFIX + "admin.acl";
    public static final String DEFAULT_JHS_ADMIN_ACL = "*";

    /** If history cleaning should be enabled or not.*/
    public static final String MR_HISTORY_CLEANER_ENABLE = MR_HISTORY_PREFIX + "cleaner.enable";

    /** Run the History Cleaner every X ms.*/
    public static final String MR_HISTORY_CLEANER_INTERVAL_MS = MR_HISTORY_PREFIX + "cleaner.interval-ms";
    public static final long DEFAULT_MR_HISTORY_CLEANER_INTERVAL_MS = 1 * 24 * 60 * 60 * 1000l; //1 day

    /** Always scan user dir, irrespective of dir modification time.*/
    public static final String MR_HISTORY_ALWAYS_SCAN_USER_DIR = MR_HISTORY_PREFIX + "always-scan-user-dir";
    public static final boolean DEFAULT_MR_HISTORY_ALWAYS_SCAN_USER_DIR = false;

    /** The number of threads to handle client API requests.*/
    public static final String MR_HISTORY_CLIENT_THREAD_COUNT = MR_HISTORY_PREFIX + "client.thread-count";
    public static final int DEFAULT_MR_HISTORY_CLIENT_THREAD_COUNT = 10;

    /**
     * Size of the date string cache. Effects the number of directories
     * which will be scanned to find a job.
     */
    public static final String MR_HISTORY_DATESTRING_CACHE_SIZE = MR_HISTORY_PREFIX + "datestring.cache.size";
    public static final int DEFAULT_MR_HISTORY_DATESTRING_CACHE_SIZE = 200000;

    /** Path where history files should be stored for DONE jobs. **/
    public static final String MR_HISTORY_DONE_DIR = MR_HISTORY_PREFIX + "done-dir";

    /**
     * Maximum time the History server will wait for the FileSystem for History
     * files to become available. Default value is -1, forever.
     */
    public static final String MR_HISTORY_MAX_START_WAIT_TIME = MR_HISTORY_PREFIX
            + "maximum-start-wait-time-millis";
    public static final long DEFAULT_MR_HISTORY_MAX_START_WAIT_TIME = -1;
    /**
     *  Path where history files should be stored after a job finished and before
     *  they are pulled into the job history server.
     **/
    public static final String MR_HISTORY_INTERMEDIATE_DONE_DIR = MR_HISTORY_PREFIX + "intermediate-done-dir";
    public static final String MR_HISTORY_INTERMEDIATE_USER_DONE_DIR_PERMISSIONS = MR_HISTORY_PREFIX
            + "intermediate-user-done-dir.permissions";
    public static final short DEFAULT_MR_HISTORY_INTERMEDIATE_USER_DONE_DIR_PERMISSIONS = 0770;

    /** Size of the job list cache.*/
    public static final String MR_HISTORY_JOBLIST_CACHE_SIZE = MR_HISTORY_PREFIX + "joblist.cache.size";
    public static final int DEFAULT_MR_HISTORY_JOBLIST_CACHE_SIZE = 20000;

    /** The location of the Kerberos keytab file.*/
    public static final String MR_HISTORY_KEYTAB = MR_HISTORY_PREFIX + "keytab";

    /** Size of the loaded job cache.*/
    public static final String MR_HISTORY_LOADED_JOB_CACHE_SIZE = MR_HISTORY_PREFIX + "loadedjobs.cache.size";
    public static final int DEFAULT_MR_HISTORY_LOADED_JOB_CACHE_SIZE = 5;

    /** Size of the loaded job cache (in tasks).*/
    public static final String MR_HISTORY_LOADED_TASKS_CACHE_SIZE = MR_HISTORY_PREFIX + "loadedtasks.cache.size";

    /**
     * The maximum age of a job history file before it is deleted from the history
     * server.
     */
    public static final String MR_HISTORY_MAX_AGE_MS = MR_HISTORY_PREFIX + "max-age-ms";
    public static final long DEFAULT_MR_HISTORY_MAX_AGE = 7 * 24 * 60 * 60 * 1000L; //1 week

    /**
     * Scan for history files to more from intermediate done dir to done dir
     * every X ms.
     */
    public static final String MR_HISTORY_MOVE_INTERVAL_MS = MR_HISTORY_PREFIX + "move.interval-ms";
    public static final long DEFAULT_MR_HISTORY_MOVE_INTERVAL_MS = 3 * 60 * 1000l; //3 minutes

    /** The number of threads used to move files.*/
    public static final String MR_HISTORY_MOVE_THREAD_COUNT = MR_HISTORY_PREFIX + "move.thread-count";
    public static final int DEFAULT_MR_HISTORY_MOVE_THREAD_COUNT = 3;

    /** The Kerberos principal for the history server.*/
    public static final String MR_HISTORY_PRINCIPAL = MR_HISTORY_PREFIX + "principal";

    /** To enable https in MR history server */
    public static final String MR_HS_HTTP_POLICY = MR_HISTORY_PREFIX + "http.policy";
    public static String DEFAULT_MR_HS_HTTP_POLICY = HttpConfig.Policy.HTTP_ONLY.name();

    /**The address the history server webapp is on.*/
    public static final String MR_HISTORY_WEBAPP_ADDRESS = MR_HISTORY_PREFIX + "webapp.address";
    public static final int DEFAULT_MR_HISTORY_WEBAPP_PORT = 19888;
    public static final String DEFAULT_MR_HISTORY_WEBAPP_ADDRESS = "0.0.0.0:" + DEFAULT_MR_HISTORY_WEBAPP_PORT;

    /**The https address the history server webapp is on.*/
    public static final String MR_HISTORY_WEBAPP_HTTPS_ADDRESS = MR_HISTORY_PREFIX + "webapp.https.address";
    public static final int DEFAULT_MR_HISTORY_WEBAPP_HTTPS_PORT = 19890;
    public static final String DEFAULT_MR_HISTORY_WEBAPP_HTTPS_ADDRESS = "0.0.0.0:"
            + DEFAULT_MR_HISTORY_WEBAPP_HTTPS_PORT;

    /**The kerberos principal to be used for spnego filter for history server*/
    public static final String MR_WEBAPP_SPNEGO_USER_NAME_KEY = MR_HISTORY_PREFIX + "webapp.spnego-principal";

    /** The kerberos keytab to be used for spnego filter for history server*/
    public static final String MR_WEBAPP_SPNEGO_KEYTAB_FILE_KEY = MR_HISTORY_PREFIX + "webapp.spnego-keytab-file";

    /*
     * HS Service Authorization
     */
    public static final String MR_HS_SECURITY_SERVICE_AUTHORIZATION = "security.mrhs.client.protocol.acl";
    public static final String MR_HS_SECURITY_SERVICE_AUTHORIZATION_ADMIN_REFRESH = "security.mrhs.admin.refresh.protocol.acl";

    /**
     * The HistoryStorage class to use to cache history data.
     */
    public static final String MR_HISTORY_STORAGE = MR_HISTORY_PREFIX + "store.class";

    /**
     * Enable the history server to store server state and recover server state
     * upon startup.
     */
    public static final String MR_HS_RECOVERY_ENABLE = MR_HISTORY_PREFIX + "recovery.enable";
    public static final boolean DEFAULT_MR_HS_RECOVERY_ENABLE = false;

    /**
     * The HistoryServerStateStoreService class to store and recover server state
     */
    public static final String MR_HS_STATE_STORE = MR_HISTORY_PREFIX + "recovery.store.class";

    /**
     * The URI where server state will be stored when
     * HistoryServerFileSystemStateStoreService is configured as the state store
     */
    public static final String MR_HS_FS_STATE_STORE_URI = MR_HISTORY_PREFIX + "recovery.store.fs.uri";

    /**
     * The local path where server state will be stored when
     * HistoryServerLeveldbStateStoreService is configured as the state store
     */
    public static final String MR_HS_LEVELDB_STATE_STORE_PATH = MR_HISTORY_PREFIX + "recovery.store.leveldb.path";

    /** Whether to use fixed ports with the minicluster. */
    public static final String MR_HISTORY_MINICLUSTER_FIXED_PORTS = MR_HISTORY_PREFIX + "minicluster.fixed.ports";

    /**
     * Default is false to be able to run tests concurrently without port
     * conflicts.
     */
    public static boolean DEFAULT_MR_HISTORY_MINICLUSTER_FIXED_PORTS = false;

    /**
     * Number of characters allowed for job name in Job History Server web page.
     */
    public static final String MR_HS_JOBNAME_LIMIT = MR_HISTORY_PREFIX + "jobname.limit";
    public static final int DEFAULT_MR_HS_JOBNAME_LIMIT = 50;

    /**
     * CSRF settings.
     */
    public static final String MR_HISTORY_CSRF_PREFIX = MR_HISTORY_PREFIX + "webapp.rest-csrf.";
    public static final String MR_HISTORY_CSRF_ENABLED = MR_HISTORY_CSRF_PREFIX + "enabled";
    public static final String MR_HISTORY_CSRF_CUSTOM_HEADER = MR_HISTORY_CSRF_PREFIX + "custom-header";
    public static final String MR_HISTORY_METHODS_TO_IGNORE = MR_HISTORY_CSRF_PREFIX + "methods-to-ignore";

    /**
     * XFS settings.
     */
    public static final String MR_HISTORY_XFS_PREFIX = MR_HISTORY_PREFIX + "webapp.xfs-filter.";
    public static final String MR_HISTORY_XFS_OPTIONS = MR_HISTORY_XFS_PREFIX + "xframe-options";

    /**
     * Settings for .jhist file format.
     */
    public static final String MR_HS_JHIST_FORMAT = MR_HISTORY_PREFIX + "jhist.format";
    public static final String DEFAULT_MR_HS_JHIST_FORMAT = "binary";

    /**
     * The maximum number of tasks for a job to be loaded in Job History Server.
     */
    public static final String MR_HS_LOADED_JOBS_TASKS_MAX = MR_HISTORY_PREFIX + "loadedjob.tasks.max";
    public static final int DEFAULT_MR_HS_LOADED_JOBS_TASKS_MAX = -1;
}