source: other-projects/hathitrust/vagrant-hadoop-cluster/trunk/modules/hadoop/manifests/init.pp@ 30903

Last change on this file since 30903 was 30903, checked in by davidb, 8 years ago

Vagrant provisioning files for a 4-node Hadoop cluster. See README.txt for more details

File size: 3.1 KB
Line 
1class hadoop {
2
3exec { "download_hadoop":
4# Download from nearby mirror, otherwise task can time-out
5command => "wget -O /tmp/hadoop.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.tar.gz http://www-eu.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz",
7path => $path,
8user => $user,
9group => $user,
10unless => "ls ${install_dir} | grep hadoop-2.7.3",
11require => Package["openjdk-7-jdk"]
12}
13
14exec { "unpack_hadoop" :
15 command => "tar -zxf /tmp/hadoop.tar.gz -C ${install_dir}",
16 path => $path,
17 creates => "${hadoop_home}-2.7.3",
18 require => Exec["download_hadoop"]
19}
20
21exec { 'chown':
22 command => "/bin/chown -R ${user}:${group} /opt/hadoop-2.7.3",
23 path => '/bin',
24 user => 'root',
25 require => Exec["unpack_hadoop"]
26}
27
28file {
29 "${hadoop_home}-2.7.3/etc/hadoop/slaves":
30 content => template('hadoop/slaves'),
31 mode => 644,
32 owner => $user,
33 group => $group,
34 require => Exec["unpack_hadoop"]
35 }
36
37file {
38 "${hadoop_home}-2.7.3/etc/hadoop/masters":
39 content => template('hadoop/masters'),
40 mode => 644,
41 owner => $user,
42 group => $group,
43 require => Exec["unpack_hadoop"]
44 }
45
46file {
47 "${hadoop_home}-2.7.3/etc/hadoop/core-site.xml":
48 content => template('hadoop/core-site.xml'),
49 mode => 644,
50 owner => $user,
51 group => $group,
52 require => Exec["unpack_hadoop"]
53 }
54
55file {
56 "${hadoop_home}-2.7.3/etc/hadoop/mapred-site.xml":
57 content => template('hadoop/mapred-site.xml'),
58 mode => 644,
59 owner => $user,
60 group => $group,
61 require => Exec["unpack_hadoop"]
62 }
63
64 file {
65 "${hadoop_home}-2.7.3/etc/hadoop/hdfs-site.xml":
66 content => template('hadoop/hdfs-site.xml'),
67 mode => 644,
68 owner => $user,
69 group => $group,
70 require => Exec["unpack_hadoop"]
71 }
72
73file {
74 "${hadoop_home}-2.7.3/etc/hadoop/hadoop-env.sh":
75 content => template('hadoop/hadoop-env.sh'),
76 mode => 644,
77 owner => $user,
78 group => $group,
79 require => Exec["unpack_hadoop"]
80 }
81
82file{
83 [ "${hadoop_home}-2.7.3/hadoop_store",
84 "${hadoop_home}-2.7.3/hadoop_store/hdfs",
85 "${hadoop_home}-2.7.3/hadoop_store/hdfs/namenode",
86 "${hadoop_home}-2.7.3/hadoop_store/hdfs/datanode"]:
87 ensure => 'directory',
88 owner => "${user}",
89 group => "${group}",
90 mode => 755,
91 require => Exec["unpack_hadoop"]
92 }
93
94file_line { "add_hadoop_home":
95 ensure => present,
96 path => "/home/${user}/.bashrc",
97 line => "export HADOOP_HOME=\"${hadoop_home}-2.7.3\"",
98 require => [ Exec["unpack_hadoop"], File["/home/${user}"] ]
99}
100
101file_line { "add_hadoop_confdir":
102 ensure => present,
103 path => "/home/${user}/.bashrc",
104 line => 'export HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"',
105 require => [ Exec["unpack_hadoop"], File["/home/${user}"] ]
106}
107
108file_line { "add_hadoop_setup":
109 ensure => present,
110 path => "/home/${user}/.bashrc",
111 line => 'source "$HADOOP_HOME/etc/hadoop/hadoop-env.sh"',
112 require => [ Exec["unpack_hadoop"], File["/home/${user}"] ]
113}
114
115file_line { "add_hadoop_path":
116 ensure => present,
117 path => "/home/${user}/.bashrc",
118 line => 'export PATH="$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin"',
119 require => [ Exec["unpack_hadoop"], File["/home/${user}"] ]
120}
121
122}
123
Note: See TracBrowser for help on using the repository browser.