LSF-linux_amd64集群搭建记录 修改节点ip地址为静态ip安装并开启ssh服务修改主机名修改/etc/hosts文件(为了方便所有机器都要改)设置集群间ssh免密钥通信(如果想root间无需密码登陆需要设置了所有机器可以root登陆,并改root密码为固定密码,默认root密码每次登陆都随机)所有节点上安装NFS解压(以下都是主节点master上的操作)安装(根据配置文件安装lsf服务,默认本文所有都是root用户操作,支持非root安装但是需要读者去看官方文档再做出改变)设置集群(所有节点都要做,否则主节点无法获取从节点状态)安装openmpi点击查看官网安装方法常用NIS指令(个人笔记)
命令小记
修改用户shell
usermod -s /bin/bash 用户名
NIS添加新用户
NIS服务端执行
useradd -m user1
passwd user1
make -C /var/yp
cd /home/user/.ssh/
ssh-keygen -t dsa
一直回车
cp cp id_dsa.pub authorized_keys
修改节点ip地址为静态ip
节点采用系统是ubuntu 1804.修改/etc/netplan/01-netplan.ymal文件。编辑成功后保存,再运行netplan apply
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses: [192.168.87.100/24]
gateway4: 192.168.87.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
安装并开启ssh服务
sudo apt-get install openssh-server
service sshd start
修改主机名
hostnamectl set-hostname node01[master,node02…]
修改/etc/hosts文件(为了方便所有机器都要改)
将节点的ip和主机名填到每个集群的机器上
192.168.87.34 master
192.168.94.211 node02
192.168.87.100 node01
设置集群间ssh免密钥通信(如果想root间无需密码登陆需要设置了所有机器可以root登陆,并改root密码为固定密码,默认root密码每次登陆都随机)
master节点:产生公钥和私钥
ssh-keygen 一直回车
把master的公钥写入本机为了本机登陆本机也不需要密码
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
将master公钥复制到工作节点上
scp ~/.ssh/authorized_keys root@node01:~/.ssh/
scp ~/.ssh/authorized_keys root@node02:~/.ssh/
至此完成了master与工作节点的无密码登陆,还需要工作节点可以无密码登陆master。在工作节点生成私钥、公钥,将公钥传给master即可
node*节点上执行:产生公钥和密钥
ssh-keygen 一直回车
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master
所有节点上安装NFS
sudo apt install nfs-kernel-server管理节点
sudo apt install nfs-common工作节点
管理节点配置portmap(/etc/ddefault/portmap)没有就自己创建
添加
-i 127.0.0.1
配置/etc/hosts.allow(加#位置也要一样)
定义/etc/exports文件,把需要访问共享文件夹的工作节点的ip加进来,像这样
服务端重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart
工作节点上验证是否可以看得到管理节点共享的文件夹
showmount -e 192.168.87.34
返回
Export list for 192.168.87.34:
/usr/share/lsf 192.168.94.211,192.168.87.100
挂载共享目录到/usr/share/lsf文件夹上
mount 192.168.87.34:/usr/share/lsf /usr/share/lsf
#在所有节点上创建同名的用户(重要)
useradd -m -u 600 -g users lsfadmin
id -a lsfadmin
mkdir /usr/share/lsf
chown lsfadmin:users /usr/share/lsf
安装ed
sudo apt-get install -y ed
##安装LSF套件
下载LSF社区版10.2下载链接
版本号写的是10.2解压完发现还是10.1,下面是解压结果
需要注册ibm账户,支持armv8、windows、linux amd_64等系统。本文使用的是amd_64的版本,过几天可能也会配置armv8版本的到开发板上搞边缘计算。
解压(以下都是主节点master上的操作)
tar -xvf lsfsce10.2.0.6-x86_64
有三个文件夹,有lsf安装包、lsf应用中心和mpi的组件
mkdir /usr/share/lsf_distrib
cd /usr/share/lsf_distrib
tar -xvf /home/master/lsfsce10.2.0.6-x86_64/lsf/lsf10.1_lsfinstall_linux_x86_64.tar.Z
将解压的lsf10.1_lsfinstall文件夹拷贝到/usr/share/lsf_distrib
cp -r /home/master/lsfsce10.2.0.6-x86_64/lsf/lsf10.1_lsfinstall /usr/share/lsf_distrib
cp /home/master/lsfsce10.2.0.6-x86_64/lsf/lsf10.1_linux2.6-glibc2.3-x86_64.tar.Z /usr/share/lsf_distrib
这个压缩包不要解压,官方文档是这样写的,在引导程序安装前要在配置文件指定此压缩包的位置,安装时会自动解压
修改/usr/share/lsf_distrib/lsf10.1_lsfinstall/install.config文件,需要在这里指定好主节点和从节点。安装时按照这个文档自动配置集群的拓扑关系(重要)。我是三个节点分别叫master、node01、node02
需要这样改
LSF_TOP=”/usr/share/lsf”原文件里面是带#注释掉了,需要把#删掉,这个是所有集群机器都可以访问的共享文件夹(通过NFS实现的)
LSF_ADMINS=“lsfadmin” 前面创建的所有节点都有的用户
LSF_CLUSTER_NAME=“cluster1”
自己命名,注意一定不要与集群内的用户组或用户名重名了(重要)
LSF_MASTER_LIST=“master”
集群管理节点的名称就是上面定义的,要求可以根据这个名字找到机器的IP,即要按照前面步骤先定义好/etc/hosts文件。
LSF_TARDIR=”/usr/share/lsf_distrib/”
指定压缩包,这是安装的模式,官网上下载时有好多不同系统的安装包,如果集群是不同基础架构的需要下载不同的这个包,然后在这个文件里面指定,我这里都是amd_64的就不需要下载那么多了
LSF_ADD_SERVERS=“node01 node02”
这是服务节点(官方称呼,就是工作节点),默认master也是工作节点,应该是可以改,可以去官网找文档然后设置,这里我没有管它。
安装(根据配置文件安装lsf服务,默认本文所有都是root用户操作,支持非root安装但是需要读者去看官方文档再做出改变)
cd /usr/share/lsf_distrib/lsfcd_install
./lsfinstall -f install.config
执行后会遇到下面的session
Press Enter to continue viewing the license agreement, or
enter “1” to accept the agreement, “2” to decline it, “3”
to print it, “4” to read non-IBM terms, or “99” to go back
to the previous screen.
输入1
Searching LSF 10.1 distribution tar files in /usr/share/lsf_distrib Please wait …
linux2.6-glibc2.3-x86_64
Press 1 or Enter to install this host type: 输入1
master节点安装完成
由于安装完默认集群间通过rsh通信,我们需要修改为ssh
修改/usr/share/lsf/conf/lsf.conf
自觉的板栗随便一行加上
LSF_RSH=ssh 要小写的‘ssh’(重要)
在执行./lsfinstall -f install.config命令后,会有个提示,大概是说想要配置启动集群需要去看两个html文件,有一个是(/usr/share/lsf/10.1/lsf_quick_admin.html,另一个路径忘了。两个网页的名字是lsf_quick_admin.html和lsf_getting_started.html,下面的步骤是这两个动态生成的html文档里面的。就是让lsf环境的指令生效并且让节点间互相知道。(这两个文档很有用,会根据你的集群情况汇总你的集群信息,告诉你接下来怎么配置集群和验证集群是否配置正确)
设置集群(所有节点都要做,否则主节点无法获取从节点状态)
所有机器上登陆root并运行下面命令
/usr/share/lsf/10.1/install/hostsetup –top=”/usr/share/lsf” –boot=“y”
This command sets up a host to use the cluster that is installed in the /usr/share/lsf directory. It also configures the LSF daemons to start automatically
含义是在集群的节点开机和关机时自动启动和关闭LSF的守护程序,并让集群节点使用共享的/usr/share/lsf文件夹的配置
登陆lsfadmin用户或root用户均可,执行下面的命令
对于使用csh或tcsh的系统
执行这个
source /usr/share/lsf/conf/cshrc.lsf
对于使用sh、ksh或bash的系统执行这个(本文是ubuntu1804所以用的这个)
. /usr/share/lsf/conf/profile.lsf
作用:让LSF的命令在当前主机生效
登陆master节点的root用户,开始启动LSF集群
lsfstartup
启动后执行lshosts或者lsload查看集群情况
最简陋的集群现在就搭起来了,上面的两个html文档会详细介绍命令的使用及和如何添加和删除节点。一些配置中可能遇到的问题也给出了解决方法。
安装openmpi点击查看官网安装方法
参考:
https://www.ibm.com/support/knowledgecenter/SSWRJV_10.1.0/lsf_unix_install/lsf_installnewunix_plan_con.html
https://hondou.homedns.org/pukiwiki/index.php?LSF%201-node%20%B9%BD%C0%AE%A4%C7%20LSF%20%A5%AF%A5%E9%A5%B9%A5%BF%A4%F2%B9%BD%C3%DB######
常用NIS指令(个人笔记)
管理节点通过NFS将/home目录共享给其他节点,再使用NIS管理集群的密码等认证,可以实现所有节点下的用户相同且可以无需密码直接登陆。如果只通过NFS将/home共享,在登陆普通用户时会提示用户不存在,因为没有密码认证
service rpcbind start
service yppasswdd start
service ypserv start
/usr/lib64/yp/ypinit -m
rpcinfo –p localhost (检查本机NIS服务是否运行)
客户端
service rpcbind start
service ypbind start