Disco Install Notes For Ubuntu 12.04 LTS Precise Pangolin

Posted by: Ken Bolton 11 years, 2 months ago


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.

Installation Notes

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 .debs 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.

Current rating: 4