$install_dir = "/opt" $hadoop_home = "${install_dir}/hadoop" $spark_home = "${install_dir}/spark" $user = "htrc" $group = "hadoop" $hadoop_master = '10.10.0.52' $hadoop_resman = '10.10.0.50' $hadoop_backupmaster = '10.10.0.51' $hadoop_1 = '10.10.0.53' $hadoop_2 = '10.10.0.54' $hadoop_3 = '10.10.0.55' include hadoop include spark file { "/home/${user}": ensure => "directory", owner => "${user}", group => "${group}", mode => 700, require => [ User["${user}"], Group["${group}"] ], } group { "${group}": ensure => "present", } user { "${user}": ensure => "present", home => "/home/${user}", name => "${user}", shell => "/bin/bash", managehome => true, gid => $group } exec { 'add-apt-repository': command => '/usr/bin/add-apt-repository ppa:webupd8team/java -y && \ echo debconf shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \ echo debconf shared/accepted-oracle-license-v1-1 seen true | /usr/bin/debconf-set-selections' } exec { 'apt-get update': command => '/usr/bin/apt-get update', require => [ Exec['add-apt-repository'], File["/home/${user}"] ] } package { "oracle-java8-installer" : ensure => present, require => [ Exec['apt-get update'], File["/home/${user}"] ] } #package { "subversion" : # ensure => present, # require => [ Exec['apt-get update'], File["/home/${user}"] ] #} #package { "maven" : # ensure => present, # require => [ Exec['apt-get update'], File["/home/${user}"] ] #} file { "/home/${user}/.ssh": ensure => "directory", owner => "${user}", group => "${group}", mode => 750, require => [ Exec['apt-get update'], File["/home/${user}"] ] } file { "/home/${user}/.ssh/id_rsa": source => "puppet:///modules/hadoop/id_rsa", ensure => present, mode => 600, owner => $user, group => $group, require => File["/home/${user}/.ssh"] } file { "/home/${user}/.ssh/id_rsa.pub": source => "puppet:///modules/hadoop/id_rsa.pub", ensure => present, mode => 644, owner => $user, group => $group, require => File["/home/${user}/.ssh"] } ssh_authorized_key { "ssh_key": ensure => "present", key => "AAAAB3NzaC1yc2EAAAADAQABAAABAQCeHdBPVGuSPVOO+n94j/Y5f8VKGIAzjaDe30hu9BPetA+CGFpszw4nDkhyRtW5J9zhGKuzmcCqITTuM6BGpHax9ZKP7lRRjG8Lh380sCGA/691EjSVmR8krLvGZIQxeyHKpDBLEmcpJBB5yoSyuFpK+4RhmJLf7ImZA7mtxhgdPGhe6crUYRbLukNgv61utB/hbre9tgNX2giEurBsj9CI5yhPPNgq6iP8ZBOyCXgUNf37bAe7AjQUMV5G6JMZ1clEeNPN+Uy5Yrfojrx3wHfG40NuxuMrFIQo5qCYa3q9/SVOxsJILWt+hZ2bbxdGcQOd9AXYFNNowPayY0BdAkSr", type => "ssh-rsa", user => "${user}", require => File["/home/${user}/.ssh/id_rsa.pub"] } file{ "/home/${user}/.ssh/config": owner => "${user}", group => "${group}", mode => 755, content => "StrictHostKeyChecking no", require => File["/home/${user}/.ssh/id_rsa.pub"] } host { 'master': ip => "${hadoop_master}", } host { 'resman': ip => "${hadoop_resman}", } host { 'backupmaster': ip => "${hadoop_backupmaster}", } host { 'hadoop1': ip => "${hadoop_1}", } host { 'hadoop2': ip => "${hadoop_2}", } host { 'hadoop3': ip => "${hadoop_3}", }