crowbar/barclamp-hadoop

View on GitHub
chef/cookbooks/hadoop/templates/default/core-site.xml.erb

Summary

Maintainability
Test Coverage
<?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>