源码安装Openlava 4.0

安装需求

  • 基本硬件配置建议:
    • 节点硬件资源的高低,取决于集群运行作业的多少、作业类型(偏向于CPU、还是偏向于内存) 
    • CPU  4核或以上
    • 内存  8G或以上
    • 交换空间通常配置为物理内存的两倍
    • 管理节点的配置要求,可以参考:Management host selection
  • 操作系统要求: 官方正式支持的各种系统,常用为Linux系统。
  • 配置共享存储。
  • 用户统一管理, 提前设置好openlava管理用户。
  • 集群需要时间同步。
  • root用户可以免密从管理节点到其他节点运行ssh。 节点之间要求双向解析主机和IP。

软件包

# 源码下载链接:源码Gitee链接

#全部软件下载链接:百度网盘

包说明:

openlava.tar.gz   源码包

openlava-4.0-origin.tar  configur文件的源码包

openlava-4.0-1.x86_64.rpm 生成的rpm包

安装配置流程

安装Openlava

源码安装

安装Server节点

(1)安装一下编译所需要的环境

[root@o-node1 ~]# yum -y install rpm-build rpmdevtools automake autoconf libtool tcl-devel ncurses-devel git

(2)解压安装包

[root@o-node1 ~]# tar xf openlava.tar.gz && cd openlava

(3)分别生成aclocal.m4和configure文件

如使用 openlava-4.0-origin.tar 软件包,无需此操作。

[root@o-node1 openlava]# aclocal && autoconf

[root@o-node1 openlava]# autoreconf -i

其中生成的两个文件

aclocal.m4: 是由aclocal这个perl脚本程序自动生成的,而aclocal的定义是:"aclocal - create aclocal.m4 by scanning configure.ac"

configure:则是由autoconf根据GNU m4宏处理器处理aclocal.m4文件,生成的一个脚本。

# 配置configgure,加上prefix参数,配置安装路径,方便以后维护

# 请注意报错信息,如果缺少某些依赖需要安装才可以进行下一步

(4)源码编译安装

mkdir /data

./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@o-node1 openlava]# cd /data/openlava/

[root@o-node1 openlava]# ll

总用量 8

drwxr-xr-x 2 root root 4096 10月 12 11:42 bin

drwxr-xr-x 2 root root   22 10月 12 11:42 etc

drwxr-xr-x 2 root root   52 10月 12 11:42 include

drwxr-xr-x 2 root root 4096 10月 12 11:42 lib

drwxr-xr-x 2 root root    6 10月 12 11:42 log

drwxr-xr-x 2 root root  125 10月 12 11:42 sbin

drwxr-xr-x 3 root root   17 10月 12 11:42 share

drwxr-xr-x 3 root root   20 10月 12 11:42 work

(5)拷贝配置文件

以及源码中的config/配置文件。

这里的安装路径是/data/openlava/,源代码解压的路径是~/openlava/

需要将这些文件进行cp或者ln -s软连接也可以。

可以cp:

cp -rf ~/openlava/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/

rpm包安装Openlava

(1)源码生成rpm包

注:Package里的rpm可以直接使用,此步骤可以跳过

安装依赖

[root@o-node1 ~]# yum -y install rpm-build rpmdevtools automake autoconf libtool tcl-devel ncurses-devel git

解压安装包

[root@o-node1 ~]# tar xf openlava.tar.gz && cd openlava

修改版本

注:如果不修改版本,安装后版本是3.1,需要修改安装目录的路径才能正常使用

[root@o-node1 openlava]# vi rpm.sh

major="4"

minor="0"

[root@openlava openlava]# vi spec/openlava.spec

%define major 4

%define minor 0

%define release 1   # 这是软件包的版本



......

Prefix: /opt                 # 默认的安装路径

(2)执行rpm.sh脚本

[root@o-node1 openlava]# ./rpm.sh

注:生成的rpm包在:/root/rpmbuild/RPMS/x86_64/openlava-4.0-1.x86_64.rpm

通过rpm包安装

注:默认安装路径是/opt/openlava-4.0

[root@o-node1 ~]# yum -y  localinstall  openlava-4.0-1.x86_64.rpm

配置用户和主机

添加openlava系统服务账号

使用openlava的所有服务器,都应当有该user和usergroup,所有openlava用户的id必须相同

可以通过指定id,在本地创建;也可以通过nis共享创建。

存在/data/openlava/etc/lsf.cluster.<用户名>文件,以openlava用户为例,即对应的配置文件为/data/openlava/etc/lsf.cluster.openlava。

# 创建用户和组,名称:openlava

[root@o-node1 ~]# useradd openlava

#或

[root@o-node1 ~]# groupadd -g 2000 --system openlava

[root@o-node1 ~]# useradd --system -u 2000 -g openlava -d /usr/lib/openlava -s /sbin/nologin openlava

设置目录权限

[root@o-node1 ~]# chown -R openlava:openlava /data/openlava/

添加主机

修改配置

[root@o-node1 openlava-4.0]# vim  /data/openlava/etc/lsf.cluster.openlava

Begin   ClusterAdmins

Administrators = openlava

End    ClusterAdmins



Begin   Host

HOSTNAME          model          type  server  r1m  RESOURCES

# yourhost                  IntelI5      linux   1      3.5    (cs)

o-node1                  IntelI5      linux   1      3.5    (cs)


# 加了主机后才能执行lsadmin limstartup等命令。



End     Host

服务管理

启动服务

启动、查看、停止openlava进程:

[root@o-node1 ~]# /data/openlava/etc/openlava

Script for starting up and shutting down openlava

Usage: /data/openlava/etc/openlava { start | stop | status | restart }


[root@o-node1 ~]# /data/openlava/etc/openlava start
[root@o-node1 ~]# /data/openlava/etc/openlava status

lim pid: <992>

res pid: <997>

sbatchd pid: <1003>

mbatchd: <1014>

管理节点会显示上述四个进程,计算节点只有三个,没有mbatchd进程

source环境变量

设置环境变量,如果退出terminal重新terminal忽略此步

[root@o-node1 openlava-4.0]# source /data/openlava/etc/openlava.sh

设置开机自启动

chkconfig openlava on

chkconfig --list openlava

openlava 0:off 1:off 2:on 3:on 4:on 5:on 6:off

使用systemd管理openlava服务

新增/usr/lib/systemd/system/openlava.service,并添加以下内容:

[Unit]

Description=openlava

Wants=network-online.target

After=network.target



[Service]

Type=simple

RemainAfterExit=yes

Restart=on-failure

RestartSec=5s

ExecStart=/usr/bin/bash /data/openlava/etc/openlava start

ExecReload=/usr/bin/bash /data/openlava/etc/openlava restart

ExecStop=/usr/bin/bash /data/openlava/etc/openlava stop

KillMode=none

LimitMEMLOCK=infinity

Delegate=yes

[Install]

WantedBy=multi-user.target





[Unit]

Description=openlava

Wants=network-online.target

After=network.target

使用方法:

systemctl daemon-reload

systemctl enable openlava

systemctl start openlava

测试

[openlava@o-node1 ~]$ source /data/openlava/etc/openlava.sh

[openlava@o-node1 ~]$ bsub sleep 100

Job <101> is submitted to default queue <normal>.

[openlava@o-node1 ~]$ bhosts

HOST_NAME          STATUS       JL/U    MAX  NJOBS    RUN  SSUSP  USUSP    RSV

o-node1            closed          -      1      1      1      0      0      0

[openlava@o-node1 ~]$ bjobs -u all

JOBID   USER    STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME

101     openlav RUN   normal     o-node1     o-node1     sleep 100  Oct 12 15:03

安装Slave节点

slave作为从节点也需要安装openlava,其中lsf.cluster.openlava要保持一致,注意/etc/hosts也需要配置正确!

一般情况有三种方法:

Slave也和Server一样配置安装openlava(经历make等过程);

也可以直拷贝Slave编译好的二进制文件,如果有lib文件缺失copy一下;

或者使用NFS来同名挂载,如果有lib文件缺失copy一下。(按理来说这个最推荐的,但是因为之前有介绍过nfs了,这次就使用copy大法)

拷贝二进制文件

本次以第二种情况为例子:拷贝已经Server编译好软件包的全部,包括配置文件。

scp -r  -P 22  /data/openlava root@192.168.2.87:/data/openlava

在slave这里启动openlava。

# 在slave安装路径运行,因为没有连接到/etc/init.d/,所以还是就只好在绝对路径中执行了

/data/openlava/etc/openlava start  

# 在server中重载

badmin reconfig

lsadmin reconfig
[root@o-node2 ~]# /data/openlava/bin/bhosts

HOST_NAME          STATUS       JL/U    MAX  NJOBS    RUN  SSUSP  USUSP    RSV

server_149         ok              -      2      0      0      0      0      0

如果报错请查看是不是少了什么文件,从server在copy过来。

[root@o-node2 ~]# /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查找一下,再cpoy到Slave。

[root@o-node1 ~]# 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@o-node1 ~]# scp -P 22 /usr/lib64/libtcl8.5.so root@o-node2:/usr/lib64/

libtcl8.5.so                                            100% 1213KB  22.7MB/s   00:00

再两边restart一下就可以了。

# Server和Slave

/data/openlava/etc/openlava restart

# 如果有配置文件修改,请更新一下配置

badmin reconfig

lsadmin reconfig

配置共享

配置Server

[root@o-node1 openlava]# yum -y install nfs-utils

[root@o-node1 openlava]# echo "/data *(rw,sync,no_root_squash)" >> /etc/exports



[root@o-node1 openlava]#  systemctl restart nfs-server

[root@o-node1 openlava]# showmount -e localhost

Export list for localhost:

/data *

配置Slave

[root@o-node2 openlava]# yum -y install nfs-utils

[root@o-node2 ~]# echo "192.168.253.133:/data /data  nfs defaults 0 0" >> /etc/fstab

[root@o-node2 ~]# mount -a



[root@o-node2 data]# cd /data/openlava/etc

[root@o-node2 openlava]# cd etc/

[root@o-node2 etc]# source openlava.sh



[root@test01 conf]# echo "LSF_RSH=ssh"  >> lsf.conf

[root@test01 conf]# lsfstartup

添加一台新主机到集群需要配置

(1)新主机安装依赖包:yum install -y tcl-devel ncurses-devel

(2)新主机通过NFS将openlava安装目录、users主目录 挂载到集群中

(3)新主机通过NIS将user同步到服务器

(4)新主机yum -y install psmisc

(5)新主机拷贝/data/softwares/openlava/etc/openlava到/etc/init.d/

(6)新主机,拷贝/data/softwares/openlava/etc/openlava.sh到/etc/profile.d/

(7)master主机的/etc/hosts 中添加 新主机的 ip hostname

(8)新主机的/etc/hosts 中添加 master主机的 ip hostname 和 新主机的 ip hostname

(9)集群中的 /etc/hosts 应当保持同步

(10)添加lsf主机,修改 /data/softwares/openlava/etc/lsf.cluster.openlava

(11)启动openlava,/etc/init.d/openlava start

(12)在OpenLava master服务器执行重载

badmin reconfig

lsadmin reconfig

好的,下面是 CentOS6.5 源码安装 zabbix4.0 的步骤: 1. 安装编译工具和依赖库: ``` yum install gcc gcc++ make automake autoconf libtool openssl openssl-devel net-snmp net-snmp-devel libcurl libcurl-devel ``` 2. 下载并解压 zabbix 源码包: ``` wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.0.tar.gz tar zxvf zabbix-4.0.0.tar.gz ``` 3. 进入源码目录,执行 configure 脚本: ``` cd zabbix-4.0.0 ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --prefix=/usr/local/zabbix ``` 4. 编译并安装 zabbix: ``` make make install ``` 5. 配置 zabbix server: 创建 zabbix 用户和用户组: ``` groupadd zabbix useradd -g zabbix zabbix ``` 创建 zabbix server 配置文件: ``` cp /usr/local/zabbix/etc/zabbix_server.conf.example /usr/local/zabbix/etc/zabbix_server.conf ``` 修改配置文件中的数据库信息: ``` DBName=zabbix DBUser=zabbix DBPassword=password ``` 6. 启动 zabbix server: ``` /usr/local/zabbix/sbin/zabbix_server ``` 7. 配置 zabbix agent: 创建 zabbix agent 配置文件: ``` cp /usr/local/zabbix/etc/zabbix_agentd.conf.example /usr/local/zabbix/etc/zabbix_agentd.conf ``` 修改配置文件中的服务器信息: ``` Server=127.0.0.1 ServerActive=127.0.0.1 ``` 8. 启动 zabbix agent: ``` /usr/local/zabbix/sbin/zabbix_agentd ``` 9. 配置 zabbix web: 将 zabbix web 目录复制到 web 服务器的根目录下: ``` cp -r /usr/local/zabbix/share/zabbix /var/www/html/ ``` 修改 zabbix web 配置文件: ``` cp /var/www/html/zabbix/conf/zabbix.conf.php.example /var/www/html/zabbix/conf/zabbix.conf.php ``` 修改配置文件中的数据库信息: ``` $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'password'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '3306'; ``` 10. 访问 zabbix web: 在浏览器中访问 `http://your-server-ip/zabbix`,输入默认用户名和密码 `Admin/zabbix`,即可登录 zabbix web。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值