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.
- Install CentOS 6.7 minimum
- Make directories on the SSD
- 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