Disco is a Python & Erlang implementation of the Map-Reduce framework for distributed computing.
It took a while to decipher the QuickStart Guide and the message boards. The fruits of this labor are shared below.
Update and upgrade the base system.
sudo apt-get update && sudo apt-get -y upgrade
install the IDE (vim+tmux), and the requirements for building disco.
sudo apt-get -y install vim tmux build-essential debhelper python-dev python3 erlang git libcmph-dev
Grab the disco source and switch to the proper tag. Look for the latest
tag on github.
mkdir src
git clone git://github.com/discoproject/disco.git src/disco
cd src/disco
git checkout 0.4.4
Build the .deb
files.
sh ./make-discoproject-debian
Copy the .deb
s out to the machines. They all need python-disco. Master
needs the whole kit. Nodes just need python-disco and disco-node.
sudo dpkg -i python-disco_0.4.4_all.deb
sudo dpkg -i python-discodb_0.4.4_amd64.deb
sudo dpkg -i disco-node_0.4.4_amd64.deb
sudo dpkg -i disco-master_0.4.4_all.deb
Edit the /etc/disco/settings.py
as appropriate.
For the rest of this, we want to use the disco
user account.
sudo su disco
Generate the ssh keys.
ssh-keygen -N '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
Initiate an ssh
session as disco
to localhost and confirm the connection.
ssh localhost
Run a test server.
disco nodaemon
You should be all set up from here to do the Disco Tutorial.
Note that if you don't set up additional nodes, you should edit `/etc/disco/settings.py` and change DDFS replica values to 1.
Share on Twitter Share on Facebook
Comments