We’re going to ASC16 in China for a student cluster competition, but we won’t have internet access on the cluster, so we need to download all  the dependencies beforehand.

First, we have a SSD that we’ll download all the things that we need for the server and clients.

  1. Install CentOS 6.7 minimum
  2. Make directories on the SSD
  3. Download dependencies for server and clients on SSD

Install CentOS 6.7 minimum

First, we installed CentOS 6.7 minimum before we left for the competition. We gave the SSD the hostname, buhpc1, during setup, and we planned on the SSD to be our server head node. Before we left for China, we used Ethernet Internet connection to download all the dependencies.

Make directories on the SSD

mkdir -p /nfs/all
mkdir /nfs/server
mkdir /nfs/client

Download dependencies for server and clients on SSD

General

yum install yum-downloadonly epel-release
yum install git wget gcc gcc-c++ gcc-fortran openssh-server openssh-clients openssl openssl-devl tmux vim curl ntp --downloadonly --downloaddir=/nfs/all
yum install wget openssh-server openssh-clients
yum -y groupinstall "Development Tools" --downloadonly --downloaddir=/nfs/all
yum -y groupinstall "Infiniband Support" --downloadonly --downloaddir=/nfs/all

NFS

yum install nfs-utils nfs-utils-lib --downloadonly --downloaddir=/nfs/all

Ganglia

yum install freetype-devel rpm-build php httpd libpng-devel libart_lgpl-devel python-devel pcre-devel autoconf automake libtool expat-devel rrdtool-devel apr-devel gcc-c++ make pkgconfig -y --downloadonly --downloaddir=/nfs/server

rpmbuild requires us to have all the dependencies already installed, so we install them now.

yum install freetype-devel rpm-build php httpd libpng-devel libart_lgpl-devel python-devel pcre-devel autoconf automake libtool expat-devel rrdtool-devel apr-devel gcc-c++ make pkgconfig -y
cd /nfs
wget http://downloads.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz
yum install https://dl.fedoraproject.org/pub/epel/6/x86_64/libconfuse-2.7-4.el6.x86_64.rpm -y --downloadonly --downloaddir=/nfs/all
yum install https://dl.fedoraproject.org/pub/epel/6/x86_64/libconfuse-devel-2.7-4.el6.x86_64.rpm -y --downloadonly --downloaddir=/nfs/all
wget install https://dl.fedoraproject.org/pub/epel/6/x86_64/libconfuse-2.7-4.el6.x86_64.rpm https://dl.fedoraproject.org/pub/epel/6/x86_64/libconfuse-devel-2.7-4.el6.x86_64.rpm
rpmbuild -tb ganglia-3.7.2.tar.gz
cd /root/rpmbuild/RPMS/x86_64
cp ganglia* libganglia* /nfs/all/

On the server, we need the ganglia-web.

cd /nfs/server
wget http://downloads.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.1.1%20%28Wien%29/ganglia-web-3.1.1-1.noarch.rpm -O ganglia-web-3.1.1-1.noarach.rpm

Gluster

wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

On our configuration, we only created pairs of servers with no clients, so we don’t have to download anything in the client directory.

yum install glusterfs-server samba --downloadonly --downloaddir=/nfs/server

Slurm

yum install mariadb-server mariadb-devel -y --downloadonly --downloaddir=/nfs/server
yum install openssl openssl-devel pam-devel numactl numactl-devel hwloc hwloc-devel lua lua-devel readline-devel rrdtool-devel ncurses-devel man2html libibmad libibumad -y --downloadonly --downloaddir=/nfs/all

Since we’re using rpmbuild with Slurm, we need to install these directories:

yum install openssl openssl-devel pam-devel numactl numactl-devel hwloc hwloc-devel lua lua-devel readline-devel rrdtool-devel ncurses-devel man2html libibmad libibumad - y
cd /nfs
wget http://www.schedmd.com/download/latest/slurm-15.08.9.tar.bz2
rpmbuild -ta slurm-15.08.9.tar.bz2
cd /root/rpmbuild/RPMS/x86_64
cp slurm-15.08.9-1.el7.centos.x86_64.rpm slurm-devel-15.08.9-1.el7.centos.x86_64.rpm slurm-munge-15.08.9-1.el7.centos.x86_64.rpm slurm-perlapi-15.08.9-1.el7.centos.x86_64.rpm slurm-plugins-15.08.9-1.el7.centos.x86_64.rpm slurm-sjobexit-15.08.9-1.el7.centos.x86_64.rpm slurm-sjstat-15.08.9-1.el7.centos.x86_64.rpm slurm-torque-15.08.9-1.el7.centos.x86_64.rpm /nfs/all