Menu

YARN Client Install

module.exports = header: 'YARN Client Install', handler: ({options}) ->

Register

  @registry.register 'hconfigure', 'ryba/lib/hconfigure'

Identities

By default, the "hadoop-yarn" package create the following entries:

cat /etc/passwd | grep yarn
yarn:x:2403:2403:Hadoop YARN User:/var/lib/hadoop-yarn:/bin/bash
cat /etc/group | grep yarn
hadoop:x:499:yarn
  @system.group header: 'Group', options.group
  @system.user header: 'User', options.user

Packages Installation

  @call header: 'Packages', ->
    @service
      name: 'hadoop'
    @service
      name: 'hadoop-yarn'
    @service
      name: 'hadoop-client'

  # migration: wdavidw 170826, does a client need log and pid dirs ?
  # @call header: 'Layout', ->
  #   @system.mkdir
  #     target: "#{options.log_dir}/#{options.user.name}"
  #     uid: options.user.name
  #     gid: options.hadoop_group.name
  #     mode: 0o0755
  #     parent: true
  #   migration: wdavidw 170826, does a client need a pid dir ?
  #   pid_dir = options.pid_dir.replace '$USER', options.user.name
  #   @system.mkdir
  #     target: "#{options.pid_dir}"
  #     uid: options.user.name
  #     gid: options.hadoop_group.name
  #     mode: 0o0755
  #     parent: true

Yarn OPTS

Inject YARN environmental properties used by the client, nodemanager and resourcemanager.

Properties accepted by the template are: ryba.yarn.rm_opts

  @file.render
    header: 'Yarn OPTS'
    target: "#{options.conf_dir}/yarn-env.sh"
    source: "#{__dirname}/../resources/yarn-env.sh.j2"
    local: true
    context:
        security_enabled: options.krb5?.realm?
        hadoop_yarn_home: options.home
        java64_home: options.java_home
        hadoop_libexec_dir: ''
        hadoop_java_io_tmpdir: "#{options.log_dir}/tmp"
        yarn_heapsize: options.heapsize
        # ryba options
        YARN_OPTS: options.opts
    uid: options.user.name
    gid: options.group.name
    mode: 0o0755
    backup: true

Configuration

  @hconfigure
    header: 'Configuration'
    target: "#{options.conf_dir}/yarn-site.xml"
    source: "#{__dirname}/../../resources/core_hadoop/yarn-site.xml"
    local: true
    properties: options.yarn_site
    backup: true
    uid: options.user.name
    gid: options.group.name