slurm ubuntu环境安装
-
###########################控制节点,计算节点都要执行:########################################
apt update
apt install sudo git gcc make ruby
ruby-dev python3 libpam0g-dev libmysqlclient-dev mariadb-client
mariadb-server wget vim curl libmunge-dev libmunge2 munge
libhdf5-serial-dev hdf5-tools cmake libhttp-parser-dev libyaml-dev
libjson-c-dev autoconf automake autotools-dev libtool pkg-config libjansson-dev -yexport MUNGEUSER=1190
groupadd -g $MUNGEUSER munge
useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGEUSER -g munge -s /sbin/nologin munge
export SlurmUSER=1191
groupadd -g $SlurmUSER slurm
useradd -m -c "Slurm workload manager" -d /var/lib/slurm -u $SlurmUSER -g slurm -s /bin/bash slurm
rngd -r /dev/urandom
/usr/sbin/create-munge-key -r -f
dd if=/dev/urandom bs=1 count=1024 > /etc/munge/munge.key
chown munge: /etc/munge/munge.key
chmod 400 /etc/munge/munge.key
chown -R munge: /etc/munge/ /var/log/munge/
chmod 0700 /etc/munge/ /var/log/munge/
chmod 0711 /var/lib/munge/
systemctl start mungemkdir /opt/app
cp lib/json-c.tar.gz /opt/app/
cp lib/http_parser.tar.gz /opt/app/
cp lib/libyaml.tar.gz /opt/app/
cp lib/libjwt.tar.gz /opt/app/
cp lib/slurm-25.05.2.tar.bz2 /opt/app/cd /opt/app
tar -zxvf json-c.tar.gz
mkdir json-c-build
cd json-c-build
cmake3 ../json-c
make && make install
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:$PKG_CONFIG_PATHcd /opt/app
tar -zxvf http_parser.tar.gz
cd http_parser
make
make installcd /opt/app
tar -zxvf libyaml.tar.gz
cd libyaml
./bootstrap
./configure
make
make installcd /opt/app
tar -zxvf libjwt.tar.gz
cd libjwt
autoreconf --force --install
./configure --prefix=/usr/local
make -j
make installcd /opt/app
tar -xvf slurm-25.05.2.tar.bz2
cd slurm-25.05.2
./configure --prefix=/storage/slurm-build --sysconfdir=/etc/slurm
--with-http-parser=/usr/local --with-yaml=/usr/local --with-jwt=/usr/local --enable-slurmrestd # --with-nvmlcd /opt/app
cd slurm-25.05.2
make && make contrib && make installsystemctl stop slurmdbd
systemctl stop slurmctld
systemctl stop slurmd
systemctl stop slurmrestdcp /storage/slurm-build/bin/* /usr/bin && cp /storage/slurm-build/sbin/* /usr/sbin
&& cp -R /storage/slurm-build/lib/* /usr/lib/
cp service/* /lib/systemd/system
cp config/* /etc/slurmmkdir -p /var/log/slurm
mkdir /var/spool/slurmctld
chown slurm: /var/spool/slurmctld
chmod 755 /var/spool/slurmctld
touch /var/log/slurm/slurmctld.log
chown slurm: /var/log/slurm/slurmctld.log
touch /var/log/slurm/slurm_jobacct.log /var/log/slurm/slurm_jobcomp.log
chown slurm: /var/log/slurm/slurm_jobacct.log /var/log/slurm/slurm_jobcomp.log
chown slurm: /etc/slurm/slurmdbd.conf
chmod 600 /etc/slurm/slurmdbd.conf
touch /var/log/slurm/slurmdbd.log
chown slurm: /var/log/slurm/slurmdbd.log
mkdir -p /var/spool/slurm/statesave
dd if=/dev/random of=/var/spool/slurm/statesave/jwt_hs256.key bs=32 count=1
chown slurm:slurm /var/spool/slurm/statesave/jwt_hs256.key
chmod 0600 /var/spool/slurm/statesave/jwt_hs256.key
chown slurm:slurm /var/spool/slurm/statesave
chmod 0755 /var/spool/slurm/statesave###############################master节点执行################################
cp db/slurm.sql /opt/app
docker stop mysql --force
docker rm mysql --force
docker volume rm mysql --force
systemctl stop mariadb
systemctl disable mariadbdocker volume create mysql
docker run --name=mysql -d --privileged=true
-v mysql:/var/lib/mysql
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=slurm dockerhub.genostack.com:8090/library/mysql:8.0.33 --lower-case-table-names=1
sleep 30sdocker cp /opt/app/slurm.sql mysql:/
docker exec -it mysql mysql -u root -e "CREATE DATABASE slurm" -pslurm
docker exec -it mysql mysql -u root -D slurm -e "source /slurm.sql" -pslurm
systemctl start slurmdbd
systemctl start slurmctld
systemctl start slurmrestd####################计算节点执行######################
systemctl start slurmd -