Linux的OpenLava配置
OpenLava
OpenLava是基于LSF早期的开源版本发展而来,其免费、开源、兼容IBM LSF的工作负载调度器。当你需要执行某项业务时候(比如跑渲染之类的),当有服务器处于空闲状态时候,可以直接ssh到另一个服务器 ,在当前服务器中的shell再执行。
角色和名称 | IP,mask24 | 备注 |
Server_149 | 192.168.2.149 | |
Slave_87 | 192.168.2.87 | |
Slave_78 | 192.168.2.78 | |
Slave_57 | 192.168.2.57 |
Server主节点
安装
IBM的LSF做得很好,但是LSF是付费的,openlava是模仿来做的,功能基本上大差不差。后来openlava被IBM收购了,所以openlava的教程可能就偏少了。
# 安装一下编译所需要的环境
yum -y install tcl-devel ncurses-devel
需要下载openlava的源代码,openlava-4.0.tar.gz,我分享到百度网盘:url。
先解压,解压后就是源码了,安装分三步:配置(configure)、编译(make)、安装(make install),如果前一步失败,后一步也不能正常进行。
# 解压到当前文件夹,会生成个同名openlava文件夹
tar -zxvf openlava-4.0.tar.gz
# 进入源码文件夹中
cd openlava-4.0
# 配置configgure,加上prefix参数,配置安装路径,方便以后维护
# 请注意报错信息,如果缺少某些依赖需要安装才可以进行下一步
./configure --prefix=/data/openlava # 如果发现报错
# 比如
checking for Tcl_CreateInterp in -ltcl... no
checking for Tcl_CreateInterp in -ltcl8.6... no
checking for Tcl_CreateInterp in -ltcl86... no
checking for Tcl_CreateInterp in -ltcl8.5... no
checking for Tcl_CreateInterp in -ltcl85... no
checking for Tcl_CreateInterp in -ltcl8.4... no
checking for Tcl_CreateInterp in -ltcl84... no
checking for Tcl_CreateInterp in -ltcl8.3... no
checking for Tcl_CreateInterp in -ltcl83... no
checking for Tcl_CreateInterp in -ltcl8.2... no
checking for Tcl_CreateInterp in -ltcl82... no
checking for Tcl_CreateInterp in -ltcl8.1... no
checking for Tcl_CreateInterp in -ltcl81... no
checking for Tcl_CreateInterp in -ltcl8.0... no
checking for Tcl_CreateInterp in -ltcl80... no
configure: error: cannot build openlava without tcl8.*
比如请下载完整你的包
# 编译,make,这里的-j参数定义了使用线程数,这里是2线程
# 可以用下面的命令查看线程数
# grep 'processor' /proc/cpuinfo | sort -u | wc -l
make -j 2 # 安装
make install
安装好后,可以查看之前在configure定义的prefix路径,即/data/openlava,里面会有make的二进制文件。
[root@server_149 openlava-4.0]# ll /data/openlava/
total 8
drwxr-xr-x. 2 root root 4096 2022-09-01 19:13 bin
drwxr-xr-x. 2 root root 22 2022-09-01 19:13 etc
drwxr-xr-x. 2 root root 52 2022-09-01 19:13 include
drwxr-xr-x. 2 root root 4096 2022-09-01 19:13 lib
drwxr-xr-x. 2 root root 6 2022-09-01 19:13 log
drwxr-xr-x. 2 root root 125 2022-09-01 19:13 sbin
drwxr-xr-x. 3 root root 17 2022-09-01 19:13 share
drwxr-xr-x. 3 root root 20 2022-09-01 19:13 work
以及源码中的config/配置文件。
这里我的安装路径是/data/openlava/
,源代码解压的路径是~/openlava-4.0/
需要将这些文件进行cp或者ln -s软连接也可以,我推荐ln。
#可以cp
cp -rf ~/openlava-4.0/config/* /data/openlava/etc/
cp -rf /data/openlava/etc/openlava /etc/init.d/
cp -rf /data/openlava/etc/openlava.sh /etc/profile.d/
cp -rf /data/openlava/etc/openlava.csh /etc/profile.d/ # 也可以ln -s
cp -rf ~/openlava-4.0/config/* /data/openlava/etc/
ln -s /data/openlava/etc/openlava /etc/init.d/
ln -s /data/openlava/etc/openlava.sh /etc/profile.d/
ln -s /data/openlava/etc/openlava.csh /etc/profile.d/
配置用户和主机
创建用户和用户组
存在/data/openlava/etc/lsf.cluster.<用户名>文件,以openlava用户为例,即对应的配置文件为/data/openlava/etc/lsf.cluster.openlava。
请注意要先配置好了NIS Server ,在Server上配置,在Slave上配置NIS Client,以方便同步用户在其他Slave。关于NIS请见我之前的文章。也可以一个一个ssh进去,本地创建,但是注意id要一致。
# 创建用户和组,名称,openlava
[root@server_149 ~]# groupadd --system openlava
[root@server_149 ~]# useradd --system -g openlava -d /usr/lib/openlava -s /sbin/nologin openlava
# 设置目录权限
[root@server_149 ~]# chown -R openlava:openlava /data/openlava/
[root@server_149 ~]#
编辑配置文件/data/openlava/etc/lsf.cluster.openlava,依据规划:
角色和名称 | IP,mask24 |
Server_149 | 192.168.2.149 |
Slave_87 | 192.168.2.87 |
Slave_78 | 192.168.2.78 |
Slave_57 | 192.168.2.57 |
在Begin Host和End Host之间写入Slave信息。
#-----------------------------------------------------------------------
# T H I S I S A O N E P E R C L U S T E R F I L E
#
# This is a sample cluster definition file. There is a cluster
# definition file for each cluster. This file's name should be
# lsf.cluster.<cluster-name>.
# See lsf.cluster(5) and the "LSF Administrator's Guide".
# Begin ClusterAdmins
Administrators = openlava
End ClusterAdmins Begin Host
HOSTNAME model type server r1m RESOURCES
# yourhost IntelI5 linux 1 3.5 (cs)
# 只修改这里就可以了,用vim,yy复制注释,p粘贴,修改一下yourhost就可以了
server_149 IntelI5 linux 1 3.5 (cs)
slave_97 IntelI5 linux 1 3.5 (cs)
slave_78 IntelI5 linux 1 3.5 (cs)
slave_57 IntelI5 linux 1 3.5 (cs)
End Host Begin ResourceMap
RESOURCENAME LOCATION
# tmp2 [default]
# nio [all]
# console [default]
End ResourceMap
ssh免密登录
免密登录之前有文章写过了,感兴趣的可用于去我主页看一下详细的介绍,这里直接快速进行。
# 生成秘钥
ssh-keygen -t ed25519
# 三次回车 # 将server的公钥copy给全部的slave,依次yes,输入密码
ssh-copy-id root@192.168.2.87 -p 22
ssh-copy-id root@192.168.2.78 -p 22
ssh-copy-id roo配置t@192.168.2.57 -p 22
hosts
依据之前的IP和host设定,设置一下Hostname,和Hosts文件。
hostnamectl set-hostname server_149
# hosts文件应该会写吧
# ip(空格)域名
# 127.0.0.1 server
# 用echo追加吧
echo -e '192.168.2.149 server_149\n192.168.2.87 slave_87\n192.168.2.78 slave\n192.168.2.57 slave_57'
server写好的host可以直接scp给slave。
#当然,你确保hosts中没有其他内容,不然就覆盖了,谨慎使用!安全起见,还是用>>追加吧,
scp -P 22 /etc/hosts root@192.168.2.87:/etc/hosts
Slave
Slave作为从节点也需要安装openlava,其中lsf.cluster.openlava要保持一致,注意/etc/hosts也需要配置正确!
拷贝已经Server编译好软件包的全部,包括配置文件。当然使用NFS也可以。
scp -P 22 /data/openlava root@192.168.2.87:/data/openlava
在slave这里启动openlava。
# 在slave运行
/data/openlava/etc/openlava start # 在server中重载
badmin reconfig
lsadmin reconfig
[root@slave_87 log]# /data/openlava/bin/bhosts
HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV
server_149 ok - 2 0 0 0 0 0
slave_57 ok - 1 0 0 0 0 0
slave_78 ok - 1 0 0 0 0 0
slave_87 ok - 1 0 0 0 0 0
如果报错请查看是不是少了什么文件,从server在copy过来。
[root@slave_87 ~]# /data/openlava/etc/openlava start
Starting daemons...
/data/openlava/sbin/lim: error while loading shared libraries: libtcl8.5.so: cannot open shared object file: No such file or directory
lim started
/data/openlava/sbin/res: error while loading shared libraries: libtcl8.5.so: cannot open shared object file: No such file or directory
res started
/data/openlava/sbin/sbatchd: error while loading shared libraries: libtcl8.5.so: cannot open shared object file: No such file or directory
sbatchd started
因为我们缺少必要的libtcl8.5.so。
用Find在Server查找一下。
[root@server_149 ~]# find / -name libtcl8.5.so
find: ‘/run/user/0/gvfs’: Transport endpoint is not connected
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/lib64/libtcl8.5.so
[root@server_149 ~]# scp -P 22 /usr/lib64/libtcl8.5.so root@192.168.2.87:/usr/lib64/
libtcl8.5.so 100% 1213KB 22.7MB/s 00:00
再两边restart一下就可以了。
# server和client
/data/openlava/etc/openlava restart
# 如果有配置文件修改
badmin reconfig
lsadmin reconfig
Linux的OpenLava配置的更多相关文章
- 在Linux虚拟机下配置tomcat
1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...
- 在Linux虚拟机下配置jdk的环境变量
1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...
- Linux网络属性配置
目录 IP地址分类 如何将Linux主机接入到网络中 网络接口的命名方式 ifcfg系列命令 如何配置主机名 如何配置DNS服务器指向 iproute2系列命令 Linux管理网络服务 永久生效配置路 ...
- 阿里云服务器Linux CentOS安装配置(零)目录
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
- 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...
- 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
- 阿里云服务器Linux CentOS安装配置(七)域名解析
阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...
- 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署
阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...
- 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署
阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...
随机推荐
- Event Loop我知道,宏任务微任务是什么鬼?
在介绍宏任务和微任务之前,先抛出一个问题.相信大家在面试的时候,会遇到这样的相似的问题: setTimeout(function(){undefined console.log('1') }); ne ...
- Vue是怎么渲染template内的标签内容的?
我们在使用Vue做项目时,都会用到脚手架,相应的我们会在template写标签内容.那么你知道为什么会在template写标签吗?这当中经过了怎样的处理呢? <template> < ...
- SAP 时区转换
DATA:l_tzone TYPE tzonref-tzone. "TIME ZONE DATA:l_timesp TYPE tzonref-tstamps."TIME ...
- 从位图到布隆过滤器,C#实现
前言 本文将以 C# 语言来实现一个简单的布隆过滤器,为简化说明,设计得很简单,仅供学习使用. 感谢@时总百忙之中的指导. 布隆过滤器简介 布隆过滤器(Bloom filter)是一种特殊的 Hash ...
- ansible对文件内容操作
ansible lineinfile 简介 lineinfile该模块是操作文件中的每一行内容,他是按照行为单位的,和下面的replace模块并不冲突. 修改匹配行,如果不存在就会添加 tasks: ...
- 一题多解,ASP.NET Core应用启动初始化的N种方案[下篇]
[接上篇]"天下大势,分久必合,合久必分",ASP.NET应用通过GenericWebHostService这个承载服务被整合到基于IHostBuilder/IHost的服务承载系 ...
- python解决“failed to execute pyi_rth_pkgres”问题
pip uninstall pyinstaller pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
- 基于infiniband(IB)网的MVAPICH2安装
一.下载安装包 下载链接:http://mvapich.cse.ohio-state.edu/downloads/ 二.解压编译安装 mkdir /home/xujb/mvapich2 tar -x ...
- 第三天python3 字典
字典 dict 特点:key-value键值对的数据的集合 可变的.无序的.key不重复:非线性结构: 字典的初始化 d=dict() 或者 d = { } dict(**kwargs) 使用n ...
- 清北学堂 2020 国庆J2考前综合强化 Day5
目录 1. 题目 T1 a 题目描述 Sol T2 b 题目描述 Sol T3 c 题目描述 Sol T4 d 题目描述 Sol 2. 算法 - 贪心 & 数学 1. 贪心 2. 数学 2.1 ...