[30903] | 1 | class hadoop {
|
---|
| 2 |
|
---|
| 3 | exec { "download_hadoop":
|
---|
[30917] | 4 | # Download from nearby mirror, otherwise task can time-out with default setting of '300'
|
---|
| 5 | # command => "wget -O /tmp/hadoop-2.7.3.tar.gz http://apache.mirror.amaze.com.au/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz",
|
---|
| 6 | command => "wget -O /tmp/hadoop-2.7.3.tar.gz http://www-us.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
|
---|
| 7 | ",
|
---|
| 8 | timeout => 0,
|
---|
[30913] | 9 | path => $path,
|
---|
[30917] | 10 | # user => $user,
|
---|
| 11 | # group => $group,
|
---|
[30913] | 12 | unless => "ls ${install_dir} | grep hadoop-2.7.3",
|
---|
[31077] | 13 | require => Package["oracle-java8-installer"]
|
---|
[30913] | 14 | }
|
---|
[30903] | 15 |
|
---|
| 16 | exec { "unpack_hadoop" :
|
---|
[30913] | 17 | command => "tar -zxf /tmp/hadoop-2.7.3.tar.gz -C ${install_dir}",
|
---|
[30903] | 18 | path => $path,
|
---|
| 19 | creates => "${hadoop_home}-2.7.3",
|
---|
| 20 | require => Exec["download_hadoop"]
|
---|
[30913] | 21 | }
|
---|
[30903] | 22 |
|
---|
[30913] | 23 | exec { "rename_hadoop" :
|
---|
| 24 | command => "ln -s ${install_dir}/hadoop-2.7.3 ${install_dir}/hadoop",
|
---|
| 25 | path => $path,
|
---|
| 26 | creates => "${hadoop_home}",
|
---|
| 27 | require => Exec["unpack_hadoop"]
|
---|
| 28 | }
|
---|
| 29 |
|
---|
| 30 | exec { 'chown_hadoop':
|
---|
| 31 | command => "/bin/chown -R ${user}:${group} ${hadoop_home}-2.7.3",
|
---|
[30903] | 32 | path => '/bin',
|
---|
| 33 | user => 'root',
|
---|
[30913] | 34 | require => Exec["rename_hadoop"]
|
---|
| 35 | }
|
---|
[30903] | 36 |
|
---|
[30913] | 37 | file {
|
---|
| 38 | "${hadoop_home}/etc/hadoop/slaves":
|
---|
[30903] | 39 | content => template('hadoop/slaves'),
|
---|
| 40 | mode => 644,
|
---|
| 41 | owner => $user,
|
---|
| 42 | group => $group,
|
---|
[30913] | 43 | require => Exec["chown_hadoop"]
|
---|
[30903] | 44 | }
|
---|
| 45 |
|
---|
[30913] | 46 | file {
|
---|
| 47 | "${hadoop_home}/etc/hadoop/masters":
|
---|
[30903] | 48 | content => template('hadoop/masters'),
|
---|
| 49 | mode => 644,
|
---|
| 50 | owner => $user,
|
---|
| 51 | group => $group,
|
---|
[30913] | 52 | require => Exec["chown_hadoop"]
|
---|
[30903] | 53 | }
|
---|
| 54 |
|
---|
| 55 | file {
|
---|
[30913] | 56 | "${hadoop_home}/etc/hadoop/core-site.xml":
|
---|
[30903] | 57 | content => template('hadoop/core-site.xml'),
|
---|
| 58 | mode => 644,
|
---|
| 59 | owner => $user,
|
---|
| 60 | group => $group,
|
---|
[30913] | 61 | require => Exec["chown_hadoop"]
|
---|
[30903] | 62 | }
|
---|
| 63 |
|
---|
| 64 | file {
|
---|
[30913] | 65 | "${hadoop_home}/etc/hadoop/mapred-site.xml":
|
---|
[30903] | 66 | content => template('hadoop/mapred-site.xml'),
|
---|
| 67 | mode => 644,
|
---|
| 68 | owner => $user,
|
---|
| 69 | group => $group,
|
---|
[30913] | 70 | require => Exec["chown_hadoop"]
|
---|
[30903] | 71 | }
|
---|
| 72 |
|
---|
| 73 | file {
|
---|
[30913] | 74 | "${hadoop_home}/etc/hadoop/hdfs-site.xml":
|
---|
[30903] | 75 | content => template('hadoop/hdfs-site.xml'),
|
---|
| 76 | mode => 644,
|
---|
| 77 | owner => $user,
|
---|
| 78 | group => $group,
|
---|
[30913] | 79 | require => Exec["chown_hadoop"]
|
---|
[30903] | 80 | }
|
---|
[31077] | 81 |
|
---|
| 82 | file {
|
---|
| 83 | "${hadoop_home}/etc/hadoop/yarn-site.xml":
|
---|
| 84 | content => template('hadoop/yarn-site.xml'),
|
---|
| 85 | mode => 644,
|
---|
| 86 | owner => $user,
|
---|
| 87 | group => $group,
|
---|
| 88 | require => Exec["chown_hadoop"]
|
---|
| 89 | }
|
---|
| 90 |
|
---|
[30903] | 91 | file {
|
---|
[30913] | 92 | "${hadoop_home}/etc/hadoop/hadoop-env.sh":
|
---|
[30903] | 93 | content => template('hadoop/hadoop-env.sh'),
|
---|
| 94 | mode => 644,
|
---|
| 95 | owner => $user,
|
---|
| 96 | group => $group,
|
---|
[30913] | 97 | require => Exec["chown_hadoop"]
|
---|
[30903] | 98 | }
|
---|
| 99 |
|
---|
[30913] | 100 | file {
|
---|
| 101 | [ "${hadoop_home}/hadoop_store",
|
---|
| 102 | "${hadoop_home}/hadoop_store/hdfs",
|
---|
| 103 | "${hadoop_home}/hadoop_store/hdfs/namenode",
|
---|
| 104 | "${hadoop_home}/hadoop_store/hdfs/datanode"]:
|
---|
[30903] | 105 | ensure => 'directory',
|
---|
| 106 | owner => "${user}",
|
---|
| 107 | group => "${group}",
|
---|
| 108 | mode => 755,
|
---|
[30913] | 109 | require => Exec["chown_hadoop"]
|
---|
[30903] | 110 | }
|
---|
| 111 |
|
---|
[30913] | 112 | file {
|
---|
| 113 | "/home/${user}/.bashrc-setup-hadoop":
|
---|
| 114 | content => template('hadoop/setup-hadoop.bash'),
|
---|
| 115 | mode => 644,
|
---|
| 116 | owner => $user,
|
---|
| 117 | group => $group,
|
---|
| 118 | require => [ Exec["unpack_hadoop"], File["/home/${user}"] ]
|
---|
| 119 | }
|
---|
[30903] | 120 |
|
---|
[30913] | 121 | file_line { "setup_hadoop_home":
|
---|
[30903] | 122 | ensure => present,
|
---|
| 123 | path => "/home/${user}/.bashrc",
|
---|
[30913] | 124 | line => ". .bashrc-setup-hadoop",
|
---|
[30903] | 125 | require => [ Exec["unpack_hadoop"], File["/home/${user}"] ]
|
---|
[30913] | 126 | }
|
---|
[30903] | 127 |
|
---|
| 128 |
|
---|
| 129 |
|
---|
| 130 | }
|
---|
| 131 |
|
---|