Chef cookbook to install HopsWorks, Hadoop for Humans.
Requirements: Vagrant, Virtualbox, Min 9 GB of main memory
Install the omnibus plugin, if needed:
vagrant plugin install vagrant-omnibus
Clone this repo, then run:
cd hopsworks-chef
# remove any old berkshelf cookbooks/cache
rm -rf cookbooks Berksfile.lock
berks vendor cookbooks
vagrant up
After hopsworks has installed, access hopsworks from your browser, with the username and password below:
http://localhost:8080/hopsworks
user: admin@kth.se
password: admin
By default, Redhat/Centos/Fedora disable "ssh hostname sudo ", because it will show the password in clear. This prevents Karamel from executing Chef recipes on bare-metal Centos/Redhat hosts. To overcome this, you can force the use of a pseudeo-terminal, by commenting out the following line in /etc/sudoers:
#Defaults requiretty
This has to be done for all hosts in the cluster on which Karamel will be executed.
You can install the hopsworks stack on your ubuntu host by first forking hopsworks and then cloning it from the repository in which you cloned Hopsworks. F
# Example of cloning from my own repo, where I cloned Hopsworks to.
git clone git://github.com/jimdowling/hopsworks.git
# This command copies all Hopswork's dependent cookbooks into the /tmp/cookbooks folder:
berks vendor /tmp
# This command updates the hopsworks.json to install all servers with the id of the current user ($USER)
./fix-hopsworks.json.sh
# This command runs chef to execute all the recipes
sudo chef-solo -c solo.rb -j hopsworks.json
If you are only editing javascript or html code, you can easily debug and view your changes by running the script:
cd scripts
./local-deploy.sh
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
You probably want to change the Vagrantfile - ports. And you don't want this change to affect your push/pull
git update-index --skip-worktree Vagrantfile
and when you actually want to change something and push it
git update-index --no-skip-worktree Vagrantfile