chef/cookbooks/hadoop/templates/default/core-site.xml.erb
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
Cookbook: hadoop
Filename: core-site.xml
Copyright (c) 2011 Dell Inc.
Licensed 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.
-->
<!-- Generated by Chef for <%= @node[:fqdn] %> -->
<configuration>
<property>
<name>fs.checkpoint.dir</name>
<value><%= node[:hadoop][:core][:fs_checkpoint_dir].join(",") %></value>
<description>Determines where on the local filesystem the DFS secondary name node
should store the temporary images to merge. If this is a
comma-delimited list of directories then the image is
replicated in all of the directories for redundancy.
</description>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value><%= node[:hadoop][:core][:fs_checkpoint_edits_dir].join(",") %></value>
<description>Determines where on the local filesystem the DFS secondary name node
should store the temporary edits to merge. If this is a
comma-delimited list of directories then the edits are
replicated in all of the directoires for redundancy. Default
value is same as fs.checkpoint.dir.
</description>
</property>
<property>
<name>fs.checkpoint.period</name>
<value><%= node[:hadoop][:core][:fs_checkpoint_period] %></value>
<description>The number of seconds between two periodic checkpoints.
</description>
</property>
<property>
<name>fs.checkpoint.size</name>
<value><%= node[:hadoop][:core][:fs_checkpoint_size] %></value>
<description>The size of the current edit log (in bytes) that triggers a periodic
checkpoint even if the fs.checkpoint.period hasn't expired.
</description>
</property>
<property>
<name>fs.default.name</name>
<value><%= node[:hadoop][:core][:fs_default_name] %></value>
<description>The name of the default file system. A URI whose scheme and authority
determine the FileSystem implementation. The uri's scheme
determines the config property (fs.SCHEME.impl) naming the
FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.
</description>
</property>
<property>
<name>fs.file.impl</name>
<value><%= node[:hadoop][:core][:fs_file_impl] %></value>
<description>The FileSystem for file: uris.
</description>
</property>
<property>
<name>fs.ftp.impl</name>
<value><%= node[:hadoop][:core][:fs_ftp_impl] %></value>
<description>The FileSystem for ftp: uris.
</description>
</property>
<property>
<name>fs.har.impl</name>
<value><%= node[:hadoop][:core][:fs_har_impl] %></value>
<description>The filesystem for Hadoop archives.
</description>
</property>
<property>
<name>fs.har.impl.disable.cache</name>
<value><%= node[:hadoop][:core][:fs_har_impl_disable_cache] %></value>
<description>Don't cache 'har' filesystem instances.
</description>
</property>
<property>
<name>fs.hdfs.impl</name>
<value><%= node[:hadoop][:core][:fs_hdfs_impl] %></value>
<description>The FileSystem for hdfs: uris.
</description>
</property>
<property>
<name>fs.hftp.impl</name>
<value><%= node[:hadoop][:core][:fs_hftp_impl] %></value>
<description>
</description>
</property>
<property>
<name>fs.hsftp.impl</name>
<value><%= node[:hadoop][:core][:fs_hsftp_impl] %></value>
<description>
</description>
</property>
<property>
<name>fs.kfs.impl</name>
<value><%= node[:hadoop][:core][:fs_kfs_impl] %></value>
<description>The FileSystem for kfs: uris.
</description>
</property>
<property>
<name>fs.ramfs.impl</name>
<value><%= node[:hadoop][:core][:fs_ramfs_impl] %></value>
<description>The FileSystem for ramfs: uris.
</description>
</property>
<property>
<name>fs.s3.block.size</name>
<value><%= node[:hadoop][:core][:fs_s3_block_size] %></value>
<description>Block size to use when writing files to S3.
</description>
</property>
<property>
<name>fs.s3.buffer.dir</name>
<value><%= node[:hadoop][:core][:fs_s3_buffer_dir] %></value>
<description>Determines where on the local filesystem the S3 filesystem should
store files before sending them to S3 (or after retrieving them
from S3).
</description>
</property>
<property>
<name>fs.s3.impl</name>
<value><%= node[:hadoop][:core][:fs_s3_impl] %></value>
<description>The FileSystem for s3: uris.
</description>
</property>
<property>
<name>fs.s3.maxRetries</name>
<value><%= node[:hadoop][:core][:fs_s3_maxRetries] %></value>
<description>The maximum number of retries for reading or writing files to S3,
before we signal failure to the application.
</description>
</property>
<property>
<name>fs.s3.sleepTimeSeconds</name>
<value><%= node[:hadoop][:core][:fs_s3_sleepTimeSeconds] %></value>
<description>The number of seconds to sleep between each S3 retry.
</description>
</property>
<property>
<name>fs.s3n.impl</name>
<value><%= node[:hadoop][:core][:fs_s3n_impl] %></value>
<description>The FileSystem for s3n: (Native S3) uris.
</description>
</property>
<property>
<name>fs.trash.interval</name>
<value><%= node[:hadoop][:core][:fs_trash_interval] %></value>
<description>Number of minutes between trash checkpoints. If zero, the trash
feature is disabled.
</description>
</property>
<property>
<name>hadoop.http.filter.initializers</name>
<value><%= node[:hadoop][:core][:hadoop_http_filter_initializers] %></value>
<description>A comma separated list of class names. Each class in the list must
extend org.apache.hadoop.http.FilterInitializer. The
corresponding Filter will be initialized. Then, the Filter will
be applied to all user facing jsp and servlet web pages. The
ordering of the list defines the ordering of the filters.
</description>
</property>
<property>
<name>hadoop.logfile.count</name>
<value><%= node[:hadoop][:core][:hadoop_logfile_count] %></value>
<description>The max number of log files.
</description>
</property>
<property>
<name>hadoop.logfile.size</name>
<value><%= node[:hadoop][:core][:hadoop_logfile_size] %></value>
<description>The max size of each log file.
</description>
</property>
<property>
<name>hadoop.native.lib</name>
<value><%= node[:hadoop][:core][:hadoop_native_lib] %></value>
<description>Should native hadoop libraries, if present, be used.
</description>
</property>
<property>
<name>hadoop.rpc.socket.factory.class.ClientProtocol</name>
<value><%= node[:hadoop][:core][:hadoop_rpc_socket_factory_class_ClientProtocol] %></value>
<description>SocketFactory to use to connect to a DFS. If null or empty, use
hadoop.rpc.socket.class.default. This socket factory is also
used by DFSClient to create sockets to DataNodes.
</description>
</property>
<property>
<name>hadoop.rpc.socket.factory.class.default</name>
<value><%= node[:hadoop][:core][:hadoop_rpc_socket_factory_class_default] %></value>
<description>Default SocketFactory to use. This parameter is expected to be
formatted as "package.FactoryClassName".
</description>
</property>
<property>
<name>hadoop.security.authentication</name>
<value><%= node[:hadoop][:core][:hadoop_security_authentication] %></value>
<description>Possible values are simple (no authentication), and kerberos.
</description>
</property>
<property>
<name>hadoop.security.authorization</name>
<value><%= node[:hadoop][:core][:hadoop_security_authorization] %></value>
<description>Is service-level authorization enabled?.
</description>
</property>
<property>
<name>hadoop.security.group.mapping</name>
<value><%= node[:hadoop][:core][:hadoop_security_group_mapping] %></value>
<description>Class for user to group mapping (get groups for a given user).
</description>
</property>
<property>
<name>hadoop.security.uid.cache.secs</name>
<value><%= node[:hadoop][:core][:hadoop_security_uid_cache_secs] %></value>
<description>NativeIO maintains a cache from UID to UserName. This is the timeout
for an entry in that cache.
</description>
</property>
<property>
<name>hadoop.socks.server</name>
<value><%= node[:hadoop][:core][:hadoop_socks_server] %></value>
<description>Address (host:port) of the SOCKS server to be used by the
SocksSocketFactory.
</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value><%= node[:hadoop][:core][:hadoop_tmp_dir] %></value>
<description>A base for other temporary directories.
</description>
</property>
<property>
<name>hadoop.util.hash.type</name>
<value><%= node[:hadoop][:core][:hadoop_util_hash_type] %></value>
<description>The default implementation of Hash. Currently this can take one of
the two values: 'murmur' to select MurmurHash and 'jenkins' to
select JenkinsHash.
</description>
</property>
<property>
<name>io.bytes.per.checksum</name>
<value><%= node[:hadoop][:core][:io_bytes_per_checksum] %></value>
<description>The number of bytes per checksum. Must not be larger than
io.file.buffer.size.
</description>
</property>
<property>
<name>io.compression.codecs</name>
<value><%= node[:hadoop][:core][:io_compression_codecs] %></value>
<description>A list of the compression codec classes that can be used for
compression/decompression.
</description>
</property>
<property>
<name>io.file.buffer.size</name>
<value><%= node[:hadoop][:core][:io_file_buffer_size] %></value>
<description>The size of buffer for use in sequence files. The size of this buffer
should probably be a multiple of hardware page size (4096 on
Intel x86), and it determines how much data is buffered during
read and write operations.
</description>
</property>
<property>
<name>io.mapfile.bloom.error.rate</name>
<value><%= node[:hadoop][:core][:io_mapfile_bloom_error_rate] %></value>
<description>The rate of false positives in BloomFilter-s used in BloomMapFile. As
this value decreases, the size of BloomFilter-s increases
exponentially. This value is the probability of encountering
false positives (default is 0.5%).
</description>
</property>
<property>
<name>io.mapfile.bloom.size</name>
<value><%= node[:hadoop][:core][:io_mapfile_bloom_size] %></value>
<description>The size of BloomFilter-s used in BloomMapFile. Each time this many
keys is appended the next BloomFilter will be created (inside a
DynamicBloomFilter). Larger values minimize the number of
filters, which slightly increases the performance, but may
waste too much space if the total number of keys is usually
much smaller than this number.
</description>
</property>
<property>
<name>io.seqfile.compress.blocksize</name>
<value><%= node[:hadoop][:core][:io_seqfile_compress_blocksize] %></value>
<description>The minimum block size for compression in block compressed
SequenceFiles.
</description>
</property>
<property>
<name>io.seqfile.lazydecompress</name>
<value><%= node[:hadoop][:core][:io_seqfile_lazydecompress] %></value>
<description>Should values of block-compressed SequenceFiles be decompressed only
when necessary.
</description>
</property>
<property>
<name>io.seqfile.sorter.recordlimit</name>
<value><%= node[:hadoop][:core][:io_seqfile_sorter_recordlimit] %></value>
<description>The limit on number of records to be kept in memory in a spill in
SequenceFiles.Sorter.
</description>
</property>
<property>
<name>io.serializations</name>
<value><%= node[:hadoop][:core][:io_serializations] %></value>
<description>A list of serialization classes that can be used for obtaining
serializers and deserializers.
</description>
</property>
<property>
<name>io.skip.checksum.errors</name>
<value><%= node[:hadoop][:core][:io_skip_checksum_errors] %></value>
<description>If true, when a checksum error is encountered while reading a
sequence file, entries are skipped, instead of throwing an
exception.
</description>
</property>
<property>
<name>ipc.client.connect.max.retries</name>
<value><%= node[:hadoop][:core][:ipc_client_connect_max_retries] %></value>
<description>Indicates the number of retries a client will make to establish a
server connection.
</description>
</property>
<property>
<name>ipc.client.connection.maxidletime</name>
<value><%= node[:hadoop][:core][:ipc_client_connection_maxidletime] %></value>
<description>The maximum time in msec after which a client will bring down the
connection to the server.
</description>
</property>
<property>
<name>ipc.client.idlethreshold</name>
<value><%= node[:hadoop][:core][:ipc_client_idlethreshold] %></value>
<description>Defines the threshold number of connections after which connections
will be inspected for idleness.
</description>
</property>
<property>
<name>ipc.client.kill.max</name>
<value><%= node[:hadoop][:core][:ipc_client_kill_max] %></value>
<description>Defines the maximum number of clients to disconnect in one go.
</description>
</property>
<property>
<name>ipc.client.tcpnodelay</name>
<value><%= node[:hadoop][:core][:ipc_client_tcpnodelay] %></value>
<description>Turn on/off Nagle's algorithm for the TCP socket connection on the
client. Setting to true disables the algorithm and may decrease
latency with a cost of more/smaller packets.
</description>
</property>
<property>
<name>ipc.server.listen.queue.size</name>
<value><%= node[:hadoop][:core][:ipc_server_listen_queue_size] %></value>
<description>Indicates the length of the listen queue for servers accepting client
connections.
</description>
</property>
<property>
<name>ipc.server.tcpnodelay</name>
<value><%= node[:hadoop][:core][:ipc_server_tcpnodelay] %></value>
<description>Turn on/off Nagle's algorithm for the TCP socket connection on the
server. Setting to true disables the algorithm and may decrease
latency with a cost of more/smaller packets.
</description>
</property>
<property>
<name>local.cache.size</name>
<value><%= node[:hadoop][:core][:local_cache_size] %></value>
<description>The limit on the size of cache you want to keep, set by default to
10GB. This will act as a soft limit on the cache directory for
out of band data.
</description>
</property>
<property>
<name>topology.node.switch.mapping.impl</name>
<value><%= node[:hadoop][:core][:topology_node_switch_mapping_impl] %></value>
<description>The default implementation of the DNSToSwitchMapping. It invokes a
script specified in topology.script.file.name to resolve node
names. If the value for topology.script.file.name is not set,
the default value of DEFAULT_RACK is returned for all node
names.
</description>
</property>
<property>
<name>topology.script.file.name</name>
<value><%= node[:hadoop][:core][:topology_script_file_name] %></value>
<description>The script name that should be invoked to resolve DNS names to
NetworkTopology names. Example: the script would take
host.foo.bar as an argument, and return /rack1 as the output.
</description>
</property>
<property>
<name>topology.script.number.args</name>
<value><%= node[:hadoop][:core][:topology_script_number_args] %></value>
<description>The max number of args that the script configured with
topology.script.file.name should be run with. Each arg is an IP
address.
</description>
</property>
<property>
<name>webinterface.private.actions</name>
<value><%= node[:hadoop][:core][:webinterface_private_actions] %></value>
<description>If set to true, the web interfaces of JT and NN may contain actions,
such as kill job, delete file, etc., that should not be exposed
to public. Enable this option if the interfaces are only
reachable by those who have the right authorization.
</description>
</property>
</configuration>