/** * 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.eclipse.server; import java.util.HashMap; import java.util.Map; import org.apache.hadoop.conf.Configuration; public enum ConfProp { /** * Property name for the Hadoop location name */ PI_LOCATION_NAME(true, "location.name", "New Hadoop location"), /** * Property name for the master host name (the Job tracker) */ PI_JOB_TRACKER_HOST(true, "jobtracker.host", "localhost"), /** * Property name for the DFS master host name (the Name node) */ PI_NAME_NODE_HOST(true, "namenode.host", "localhost"), /** * Property name for the installation directory on the master node */ // PI_INSTALL_DIR(true, "install.dir", "/dir/hadoop-version/"), /** * User name to use for Hadoop operations */ PI_USER_NAME(true, "user.name", System.getProperty("user.name", "who are you?")), /** * Property name for SOCKS proxy activation */ PI_SOCKS_PROXY_ENABLE(true, "socks.proxy.enable", "no"), /** * Property name for the SOCKS proxy host */ PI_SOCKS_PROXY_HOST(true, "socks.proxy.host", "host"), /** * Property name for the SOCKS proxy port */ PI_SOCKS_PROXY_PORT(true, "socks.proxy.port", "1080"), /** * TCP port number for the name node */ PI_NAME_NODE_PORT(true, "namenode.port", "50040"), /** * TCP port number for the job tracker */ PI_JOB_TRACKER_PORT(true, "jobtracker.port", "50020"), /** * Are the Map/Reduce and the Distributed FS masters hosted on the same * machine? */ PI_COLOCATE_MASTERS(true, "masters.colocate", "yes"), /** * Property name for naming the job tracker (URI). This property is related * to {@link #PI_MASTER_HOST_NAME} */ JOB_TRACKER_URI(false, "mapred.job.tracker", "localhost:50020"), /** * Property name for naming the default file system (URI). */ FS_DEFAULT_URI(false, "fs.default.name", "hdfs://localhost:50040/"), /** * Property name for the default socket factory: */ SOCKET_FACTORY_DEFAULT(false, "hadoop.rpc.socket.factory.class.default", "org.apache.hadoop.net.StandardSocketFactory"), /** * Property name for the SOCKS server URI. */ SOCKS_SERVER(false, "hadoop.socks.server", "host:1080"), ; /** * Map <property name> -> ConfProp */ private static Map<String, ConfProp> map; private static synchronized void registerProperty(String name, ConfProp prop) { if (ConfProp.map == null) ConfProp.map = new HashMap<String, ConfProp>(); ConfProp.map.put(name, prop); } public static ConfProp getByName(String propName) { return map.get(propName); } public final String name; public final String defVal; ConfProp(boolean internal, String name, String defVal) { if (internal) name = "eclipse.plug-in." + name; this.name = name; this.defVal = defVal; ConfProp.registerProperty(name, this); } String get(Configuration conf) { return conf.get(name); } void set(Configuration conf, String value) { assert value != null; conf.set(name, value); } }