Building Your Own Super
Computer - Building a Linux
Cluster ( 4 )
Linux
clusters are generally more common,
robust, efficient and cost effective
than Windows clusters. We will now
look at the steps involved in
building up a Linux cluster. For
more information go
here
.
Step 1
Install a Linux distribution (I am
using Red Hat 7.1 and working with
two Linux boxes) on each computer in
your cluster. During the
installation process, assign
hostnames and of course, unique IP
addresses for each node in your
cluster.
Usually, one node is designated as
the master node (where you'll
control the cluster, write and run
programs, etc.) with all the other
nodes used as computational slaves.
We name one of our nodes as Master
and the other as Slave.
Our
cluster is private, so theoretically
we could assign any valid IP address
to our nodes as long as each has a
unique value. I have used IP address
192.168.0.190 for the master node
and 192.168.0.191 for the slave
node.
If
you already have Linux installed on
each node in your cluster, then you
don't have to make changes to your
IP addresses or hostnames unless you
want to. Changes (if needed) can be
made using your network
configuration program Linuxconf in
Red Hat.
Finally, create identical user
accounts on each node. In our
case, we create the user DevArticle
on each node in our cluster. You can
either create the identical user
accounts during installation, or you
can use the adduser command as root.
Step 2
We now need to configure rsh on each
node in our cluster. Create .rhosts
files in the user and root
directories. Our .rhosts files for
the DevArticle users are as follows:
Master DevArticle
Slave DevArticle
Moreover, the .rhosts files for root
users are as follows:
Master root
Slave root
Next, we create a hosts file in the
/etc directory. Below is our hosts
file for Master (the master node):
192.168.0.190 Master.home.net Master
127.0.0.1 localhost
192.168.0.191 Slave
Step 3
Do not remove the 127.0.0.1
localhost line. The hosts.allow
files on each node was modified by
adding ALL+ as the only line in the
file. This allows anyone on any node
permission to connect to any other
node in our private cluster. To
allow root users to use rsh, I had
to add the following lines to the
/etc/securetty file:
rsh, rlogin, rexec, pts/0, pts/1.
Also, I modified the /etc/pam.d/rsh
file:
#%PAM-1.0
# For root login to succeed here
with pam_securetty, "rsh" must be
# listed in /etc/securetty.
auth sufficient
/lib/security/pam_nologin.so
auth optional
/lib/security/pam_securetty.so
auth sufficient
/lib/security/pam_env.so
auth sufficient
/lib/security/pam_rhosts_auth.so
account sufficient /lib/security/pam_stack.so
service=system-auth
session sufficient
/lib/security/pam_stack.so
service=system-auth
Step 4
Rsh, rlogin, Telnet and rexec are
disabled in Red Hat 7.1 by default.
To change this, I navigated to the
/etc/xinetd.d directory and modified
each of the command files (rsh,
rlogin, telnet and rexec), changing
the disabled = yes line to disabled
= no.
Once the changes were made to each
file (and saved), I closed the
editor and issued the following
command: xinetd –restart -- to
enable rsh, rlogin, etc.
Step 5
Next, download the latest version of
MPICH (UNIX all flavors) to the
master node from here. Untar the
file in either the common user
directory (the identical user you
established for all nodes "DevArticle"
on our cluster) or in the root
directory (if you want to run the
cluster as root).
Issue the following command:
tar
zxfv mpich.tar.gz
Change into the newly created
mpich-1.2.2.3 directory. Type
./configure, and when the
configuration is complete and you
have a command prompt, type make.
The
make may take a few minutes,
depending on the speed of your
master computer. Once make has
finished, add the mpich-1.2.2.3/bin
and mpich-1.2.2.3/util directories
to your PATH in .bash_profile or
however you set your path
environment statement.
The
full root paths for the MPICH bin
and util directories on our master
node are /root/mpich-1.2.2.3/util
and /root/mpich-1.2.2.3/bin. For the
DevArticle user on our cluster,
/root is replaced with /home/DevArticle
in the path statements. Log out and
then log in to enable the modified
PATH containing your MPICH
directories.
Step 6
Next, make all of the example files
and the MPE graphic files. First,
navigate to the
mpich-1.2.2.3/examples/basic
directory and type make to make all
the basic example files.
When this process has finished, you
might as well change to the
mpich-1.2.2.3/mpe/contrib directory
and make some additional MPE example
files, especially if you want to
view graphics.
Within the mpe/contrib directory,
you should see several
subdirectories. The one we will be
interested in is the mandel
directory. Change into the mandel
directory and type make to create
the pmandel exec file. You are now
ready to test your cluster.