Skip to content

Instantly share code, notes, and snippets.

@keyz182
Last active December 18, 2015 18:59
Show Gist options
  • Save keyz182/5829884 to your computer and use it in GitHub Desktop.
Save keyz182/5829884 to your computer and use it in GitHub Desktop.
Install the tools for getting hadoop on openstack.
#!/bin/bash
sudo apt-get update -y
sudo apt-get install ruby1.9.1-full
sudo update-alternatives --set ruby /usr/bin/ruby1.9.1
sudo mv /usr/bin/gem /usr/bin/gem.old
sudo update-alternatives --set gem /usr/bin/gem1.9.1
wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chef-server_11.0.8-1.ubuntu.12.04_amd64.deb
#curl -L http://www.opscode.com/chef/install.sh | sudo bash
sudo dpkg -i chef-server_11.0.8-1.ubuntu.12.04_amd64.deb
sudo chef-server-ctl reconfigure
curl -L https://www.opscode.com/chef/install.sh | sudo bash
mkdir -p $HOME/.chef
sudo cp /etc/chef-server/chef-validator.pem /etc/chef-server/admin.pem $HOME/.chef
sudo chown -R $USER: $HOME/.chef
IP=`ifconfig eth0 | grep inet | head -n1 | cut -d":" -f2 | cut -d" " -f1`
# Grab knife-alamo and install it
git clone https://github.com/opscode/knife-openstack.git
sudo apt-get install -y ruby ruby-dev libopenssl-ruby rdoc ri irb build-essential wget ssl-cert curl
#wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz
#tar zxf rubygems-1.8.10.tgz
#cd rubygems-1.8.10
#sudo ruby setup.rb --no-format-executable
sudo gem install chef --no-ri --no-rdoc
cat <<EOF | knife configure -i
$HOME/.chef/knife.rb
https://$IP/
chefadmin
admin
/home/ubuntu/.chef/admin.pem
chef-validator
/home/ubuntu/.chef/chef-validator.pem
EOF
git clone https://github.com/sacharya/hdp-cookbooks.git
cat >> $HOME/.chef/knife.rb <<EOF
cookbook_path ["$HOME/hdp-cookbooks/cookbooks"]
EOF
cd knife-openstack
sudo apt-get install -y libxslt-dev libxml2-dev
sudo apt-get install -y libreadline-ruby1.8 libruby1.8 libopenssl-ruby
sudo gem install nokogiri -v "<1.6.0"
gem build knife-openstack.gemspec
#install with fix for outdated eventmachine
sudo gem install knife-openstack-*.gem -- --with-cflags=\"-O2 -pipe -march=native -w\"
cat >> $HOME/.chef/knife.rb <<EOF
knife[:openstack_username] = "#{ENV['OS_USERNAME']}"
knife[:openstack_password] = "#{ENV['OS_PASSWORD']}"
knife[:openstack_auth_url] = "#{ENV['OS_AUTH_URL']}"
knife[:openstack_tenant] = "#{ENV['OS_TENANT_NAME']}"
EOF
knife role from file $HOME/hdp-cookbooks/roles/hadoop-datanode.json
knife role from file $HOME/hdp-cookbooks/roles/hadoop-jobtracker.json
knife role from file $HOME/hdp-cookbooks/roles/hadoop-master.json
knife role from file $HOME/hdp-cookbooks/roles/hadoop-namenode.json
knife role from file $HOME/hdp-cookbooks/roles/hadoop-worker.json
knife role from file $HOME/hdp-cookbooks/roles/hadoop-tasktracker.json
knife environment from file $HOME/hdp-cookbooks/environments/example.json
echo "Setup complete!!! You may now proceed..."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment