blob: a1397c2f0dfefbf7998b3636139f979252e6158a [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.
<% def shell_config(shell_var, *puppet_var)
puppet_var = puppet_var[0] || shell_var.downcase
puppet_vars = scope.to_hash
if puppet_vars[puppet_var]
return "export #{shell_var}=#{puppet_vars[puppet_var]}"
end
return "#export #{shell_var}="
end %>
# WARNING: Heavy puppet machinery is involved managing this file,
# your edits stand no chance
#
# Set Hadoop-specific environment variables here.
# The only required environment variable is JAVA_HOME. All others are
# optional. When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.
# The java implementation to use. Required.
<%= shell_config("JAVA_HOME", "hadoop_java_home") %>
# Extra Java CLASSPATH elements. Optional.
<%= shell_config("HADOOP_CLASSPATH") %>
# The maximum amount of heap to use, in MB. Default is 1000.
<%= shell_config("HADOOP_HEAPSIZE") %>
# Extra Java runtime options. Empty by default.
<%= shell_config("HADOOP_OPTS") %>
# Command specific options appended to HADOOP_OPTS when specified
<%= shell_config("HADOOP_NAMENODE_OPTS") %>
<%= shell_config("HADOOP_SECONDARYNAMENODE_OPTS") %>
<%= shell_config("HADOOP_DATANODE_OPTS") %>
<%= shell_config("HADOOP_BALANCER_OPTS") %>
<%= shell_config("HADOOP_JOBTRACKER_OPTS") %>
<%= shell_config("HADOOP_TASKTRACKER_OPTS") %>
# The following applies to multiple commands (fs, dfs, fsck, distcp etc)
<%= shell_config("HADOOP_CLIENT_OPTS") %>
# Extra ssh options. Empty by default.
<%= shell_config("HADOOP_SSH_OPTS") %>
# Where log files are stored. $HADOOP_HOME/logs by default.
<%= shell_config("HADOOP_LOG_DIR") %>
# File naming remote slave hosts. $HADOOP_HOME/conf/slaves by default.
<%= shell_config("HADOOP_SLAVES") %>
# host:path where hadoop code should be rsync'd from. Unset by default.
<%= shell_config("HADOOP_MASTER") %>
# Seconds to sleep between slave commands. Unset by default. This
# can be useful in large clusters, where, e.g., slave rsyncs can
# otherwise arrive faster than the master can service them.
<%= shell_config("HADOOP_SLAVE_SLEEP") %>
# The directory where pid files are stored. /tmp by default.
<%= shell_config("HADOOP_PID_DIR") %>
# A string representing this instance of hadoop. $USER by default.
<%= shell_config("HADOOP_IDENT_STRING") %>
# The scheduling priority for daemon processes. See 'man nice'.
<%= shell_config("HADOOP_NICENESS") %>
<% if (@use_tez) -%>
# tez environment, needed to enable tez
<%= shell_config("TEZ_CONF_DIR") %>
<%= shell_config("TEZ_JARS") %>
# Add tez into HADOOP_CLASSPATH
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*
<% end -%>
### WARNING: the following is NOT really optional. It is a shame that stock Hadoop
### hadoop_env.sh doesn't make it clear -- you can NOT turn com.sun.management.jmxremote off
### and have a working Hadoop cluster.
export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS"
export HADOOP_SECONDARYNAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS"
export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS"
export HADOOP_BALANCER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS"
export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"