LSF集群搭建笔记

article/2025/10/25 5:01:11

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 …

  1. 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


http://chatgpt.dhexx.cn/article/AuKr08ML.shtml

相关文章

LSF集群基本概念介绍

集群的基本概念-作业 作业是集群中最重要的一个概念,用户通过提交作业申请集群计算资源,完成计算任务作业状态 • PEND (待定)- - 作业在队列中等待调度与分派 • RUN (运行)- - 作业已经被分派到节点机上…

LSF client安装

在master01节点添加: [rootmaster01 conf]# pwd /share01/app/lsf/conf [rootmaster01 conf]# ls cshrc.lsf lsf.cluster.nju_cluster1 lsf.shared perl.lsf ego lsf.conf lsf.shared.old profile.lsf lsbatch lsf.entitlement…

LSF Reordering

可通过[! ]重新排序作业调度主机。 假设: 主机resh1110h220 假设如上两个作业处于pending状态,在同一个调度周期内被调度器考虑,首先调度job1。 在调度周期的早期,通过获取集群中的所有主机或任何(-m)请求的主机列表中列出的主机…

LSF安装部署

前言 目前,市面上主流的HPC调度器分为LSF、SGE、Slurm、SGE四大类型,不同行业根据自身场景和不同调度器对应用支持力度的不同,往往会有不同的偏好,在芯片设计公司中最常用的是LSF LSF(Load Sharing Facility&#xf…

关于LSF的高级用法

1、通过脚本查询Job的利用率和所占的Core数,从而管理低利用率的Job。 •通过脚本查询JOB的利用率和所占的CORE数,从而管理低利用率的JOB。 •低CPU利用率的JOB要特别小心,最可能存在2个原因:JOB缺少LICENSE导致等待;存…

LSF_术语及概念

术语及概念 作业状态: PEND:在队列中等待调度和分派。RUN:分配给指定主机并运行。DONE:返回值为0,正常结束。PSUSP:在调度和分派时暂停。(具体暂停条件待考究)USUSP:由…

LSF - 基础 - 管理

LSF - 基础 - 管理 在LSF环境下工作 启动、停止与重新配置LSF 使用 LSF 管理命令 lsadmin 和 badmin 来启动和停止 LSF 守护进程,并重新配置集群属性。 两个 LSF 管理命令(lsadmin 和 badmin) 这两个命令只有LSF管理员或root能运行。 要…

【学习OpenCV4】案例1:Windows OpenCV C++语言开发环境搭建

本文的案例内容源自于图书**《学习OpenCV 4:基于Python的算法实战》**,该书是国内第一本完整介绍OpenCV4的图书,第一章有在各个平台搭建环境的介绍,后面每个章节都有对模块的导读、模块经典算法的案例介绍以及进阶阅读&#xff0c…

【学习OpenCV4】OpenCV4入门介绍

本文内容大部分来自图书《学习OpenCV 4:基于Python的算法实战》,该书是国内第一本完整介绍OpenCV4的图书,第一章有在各个平台搭建环境的介绍,后面每个章节都有对模块的导读、模块经典算法的案例介绍以及进阶阅读,适合图…

学习OpenCV(1)概述

目录 基础知识 OpenCV的起源与目标 练习 基础知识 什么是OpenCV OpenCV是一个开源的计算机视觉库。OpenCV设计用于进行高效的计算,十分强调实时应用的开发。 什么是计算机视觉 计算机视觉这种技术可以将静止图像或视频数据转换为一种决策或新的表示。所有这种…

学习OpenCV3:Cmake+MinGW编译OpenCV

1. 准备 1.1 下载OpenCV源码 OpenCV下载地址1:https://opencv.org/releases/ OpenCV下载地址2:https://github.com/opencv/opencv/releases OpenCV下载地址3:https://github.com/opencv/opencv 提示:下载地址1和下载地址2可以直…

【学习OpenCV4】键盘鼠标操作总结

本文分享内容来自图书《学习OpenCV 4:基于Python的算法实战》,该书内容如下: 第1章 OpenCV快速入门; 第2章 图像读写模块imgcodecs; 第3章 核心库模块core; 第4章 图像处理模块imgproc(一&…

【学习OpenCV4】OpenCV4与opencv-contrib模块介绍

本文分享内容来自图书《学习OpenCV 4:基于Python的算法实战》,该书刚刚上市,是国内第一本系统讲解OpenCV4各个模块的图书,配套案例深入浅出的讲解。第一章有在各个平台搭建环境的介绍,后面每个章节都有对模块的导读、模…

学习OpenCV

因为一些项目需要,最近在学习OpenCv,以下是一些学习OpenCv这本书的一些简介,教程下载地址:《学习OpenCv》 《学习OpenCV》:计算机视觉是在图像处理的基础上发展起来的新兴学科。OpenCV是一个开源的计算机视觉库&#x…

学习opencv.js(1)图像入门

目标:了解如何阅读图像以及如何在网络中显示它。 读取图像:OpenCV.js 将图像保存为cv.Mat类型。我们使用 HTML 画布元素将cv.Mat传输到网络或反向传输。ImageData 接口可以表示或设置画布元素区域的底层像素数据。 1.从画布创建一个 ImageData对象 le…

学习OpenCV3:MinGW编译OpenCV到vs_version.rc.obj处出错

1. 错误描述 [ 65% ] Building RC object modules/world/CMakeFiles/opencv_world.dir/vs_version.rc.obj gcc: error: long: No such file or directory C:\Mingw-w64\mingw32\bin\windres.exe: preprocessing failed. mingw32-make[2]: *** [modules\world\CMakeFiles\opencv…

【从零学习OpenCV 4】opencv_contrib扩展模块的安装

本文首发于“小白学视觉”微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》。…

如何学习opencv源码

如何学习opencv源码 当你在使用opencv时,看到一个函数有没有想去了解他的源码,而又无从下手?这里我将带你脱离这种尴尬的境遇! 面对这个问题,我自己也查找过许多的资料,网上有这样一种做法,步骤如下&…

从零开始学习opencv——在虚拟环境下安装opencv环境

毕设准备做cv相关项目,今天开始学习cv基础知识,课程为B站“【不要再看那些过时的OpenCV老教程了】2022巨献,OpenCV零基础小白最新版全套教程(人工智能机器视觉教程)” 0.自行安装python3.7,注意版本不能过高或过低,注意安装64位版…