侧边栏壁纸
  • 累计撰写 37 篇文章
  • 累计创建 60 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Openlava安装教程

Wonder
2018-04-19 / 0 评论 / 0 点赞 / 68 阅读 / 2,155 字 / 正在检测是否收录...

OpenLava是一个开源的HPC项目,是100%免费、开源、兼容IBM Spectrum LSF的工作负载调度器,支持各种高性能计算和分析应用。
由于OpenLava的命令行和文件格式与大多数LSF功能相兼容,因此用户和管理员都将非常熟悉OpenLava的操作。组织和机构可以充分利用数以百计的商业和开源软件的已有集成,保留他们在设计、集成和技能方面的已有投资,并快速摆脱在生产环境中对商业许可证的依赖和限制。
目前国内关于Openlava的安装教程几乎没有,故写此篇来介绍,有不对之处还请指正。

1 系统要求

支持主流的64位x86 Linux发行版,包括RHEL、CentOS、SUSE、和Ubuntu

2 网络要求

安装Openlava需要:a)主机联网 b)各个主机可以互相通信,即可以互相Ping通对方主机名。
使用快捷键CTRL+ALT+T(或者在桌面点击右键,选择open terminal)进入系统的终端界面:

2.1 查看系统主机名

在安装开始前,我们需要知道本机器的主机名,在终端输入hostname –f即可看到

2.2 测试两台主机的网络状况

当设置好网络之后结果应如下所示:

[jensd@master ~]$ ping -c 1 node
PING node (192.168.202.102) 56(84) bytes of data.
64 bytes from node (192.168.202.102): icmp_seq=1 ttl=64 time=0.380 ms
--- node ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.380/0.380/0.380/0.000 ms
[jensd@node ~]$ ping –c 1 master
PING master (192.168.202.101) 56(84) bytes of data.
64 bytes from master (192.168.202.101): icmp_seq=1 ttl=64 time=0.211 ms
--- master ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.211/0.211/0.211/0.000 ms

3 下载准备

进入Openlava官方网站:http://www.openlava.org/ ,点击Download标签,下载安装包:openlava-2.2.tar.gz,将文件存储于主机某个指定位置(例如将文件存放于浏览器自动下载的~/Download目录下)

4 安装Openlava

以下文档以CentOS 7操作系统为例,其中:主机 master作为集群中的管理主机,node为本集群中的一个执行主机。
注:在一个Openlava集群中,可以有很多个执行主机,此处仅以node这一台执行主机为例。

4.1 管理主机安装Openlava

4.1.1 安装依赖包

打开终端,在终端中逐条输入以下命令,以安装Openlava所需要的依赖包:

yum update
yum upgrade
yum install tcl-dev ncurses-dev autoconf libtool

注:如在Ubuntu系统下,指令稍有变化:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y tcl-dev ncurses-dev autoconf libtool

4.1.2 打开防火墙

sudo iptables -I INPUT -p tcp --match multiport --dports 1024:65535 -j ACCEPT
sudo iptables -I INPUT -p udp --match multiport --dports 1024:65535 -j ACCEPT
sudo iptables-save|sudo tee /etc/sysconfig/iptables

4.1.3 解压Openlava安装包

cd ~/Download
tar zxvf openlava-2.2.tar,gz
cd openlava-2.2

4.1.4 执行安装

./configure --prefix=/opt/openlava
make
sudo make install

4.1.5 添加Openlava用户

# Create a Openlava user to own all lsf processes
sudo useradd -r openlava

4.1.6 复制默认配置文件

# Copy the configurations to the system
cd config
sudo cp openlava /etc/init.d
sudo cp lsf.cluster.openlava lsf.conf lsf.shared lsb.params lsb.hosts /opt/openlava/etc/
sudo cp openlava.sh openlava.csh /etc/profile.d/

4.1.7 配置环境变量

. /etc/profile.d/openlava.sh

4.1.8 编辑lsf.cluster.openlava文件

cd /opt/openlava/etc
vi lsf.cluster.openlava

如下所示为需要新增的文字,其中,第一行为系统认为的管理主机,因此将管理主机的主机名放在灰色部分的第一行,并将后续需要加入集群的执行主机主机名依次加入该列表:

Begin   Host
HOSTNAME       model      type   server  r1m  RESOURCES
master        IntelI5     linux    1     3.5    (cs)
node          IntelI5     linux    1     3.5    (cs)
End     Host

4.1.9 编辑/etc/hosts

将需要加入本集群的主机名用以下命令添加至/etc/hosts:
sudo printf "33.33.33.31 master\n33.33.33.32 node\n" | sudo tee -a /etc/hosts
如需添加更多主机,可参照如下列表:
33.33.33.31 master
33.33.33.32 node
33.33.33.33 node1
33.33.33.34 node2
33.33.33.35 node3

4.1.10 确保安装权限正确

sudo chown -R openlava:openlava /opt/openlava

4.1.11 验证安装

开启Openlava服务,如出现如下字段则表示安装成功且Openlava服务已开启:

[jensd@master ~]$ sudo /etc/init.d/openlava start
Stopping daemons...
Starting daemons...
lim started
res started
sbatchd started
[jensd@master ~]$ lsid
openlava project 2.2, Nov  6 2017
 
My cluster name is openlava
My master name is master

4.2 执行主机安装Openlava

方法与管理主机基本相同,需要注意的是,在上节第8步(编辑lsf.cluster.openlava文件)时,将管理主机的hostname仍放置在第一行,执行主机的顺序与上节第8步的顺序一致。

5 安装Openlava Web端

5.1 安装依赖包

sudo yum -y install python-django python-pip git python-devel gcc lighttpd lighttpd-fastcgi
sudo pip install flup cython
sudo pip install –v Django==1.8

注:在Ubuntu系统中,指令稍有变化:

sudo apt-get install python-django python-pip git python-devel gcc lighttpd lighttpd-fastcgi
sudo pip install flup cython
sudo pip install –v Django==1.8

5.2 安装openlava-python

从GitHub上下载openlava-python:
sudo git clone https://github.com/irvined1982/openlava-python.git
确认该文件中的变量lsfdir所示为真实的openlava安装目录:
sudo vi openlava-python/openlava/setup.py

...
# Find lsbatch
try:
        lsfdir=os.environ['LSF_ENVDIR']
        lsfdir=os.path.join(libdir,"..")
 
except:
        lsfdir='/opt/openlava'

安装openlava-python:

cd /opt/openlava-python/openlava/
sudo python setup.py install

5.3 安装openlava-web

从GitHub上下载openlava-web:

sudo git clone https://github.com/irvined1982/openlava-web.git
cd openlava-web/
sudo git submodule update --init –recursive

执行安装命令:sudo python setup.py install

5.4 创建Django项目并配置

在/opt目录下创建Django项目openlava_webui:

cd /opt/
sudo django-admin startproject openlava_webui
sudo cp -r /opt/openlava-web/openlavaweb/ /opt/openlava_webui/

编辑/opt/openlava_webui/openlava_webui/urls.py文件及openlavaweb.urls文件:

from django.conf.urls import patterns, include, url
 
from django.contrib import admin
admin.autodiscover()
 
urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'openlava_webui.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
 
    url(r'^admin/', include(admin.site.urls)),
    url(r'^', include('openlavaweb.urls')),
)

编辑/opt/openlava_webui/openlava_webui/settings.py文件来包含openlavaweb:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'openlavaweb',
)

5.5 设置防火墙

sudo iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 808 -j ACCEPT
sudo iptables-save|sudo tee /etc/sysconfig/iptables

5.6 打开服务器

[jensd@master opt]$ sudo python /opt/openlava_webui/manage.py runserver 0.0.0.0:808
Validating models...
 
0 errors found
December 05, 2017 - 12:31:18
Django version 1.6.8, using settings 'openlava_webui.settings'
Starting development server at http://0.0.0.0:80/
Quit the server with CONTROL-C.

5.7 验证openlava web端

在浏览器中访问地址即可看到web界面:http://0.0.0.0:808/:

5.8 使用Lighttpd

编辑/etc/lighttpd/modules.conf文件:

server.modules = (
  "mod_access",
  "mod_alias",
  "mod_fastcgi",
#  "mod_auth",
#  "mod_evasive",
#  "mod_redirect",
#  "mod_rewrite",
#  "mod_setenv",
#  "mod_usertrack",
)

编辑/etc/lighttpd/lighttpd.conf文件,将以下代码新增至文件结尾:

alias.url = (
    "/static" => "/opt/openlava_webui/openlavaweb/static/",
    "/media" => "/var/www/olweb/media",
)
 
fastcgi.server = (
    "/olweb" => (
        "main" => (
            # Use host / port instead of socket for TCP fastcgi
            "host" => "127.0.0.1",
            "port" => 3033,
            #"socket" => "/home/user/mysite.sock",
            "check-local" => "disable",
        )
    ),
)

开启Lighttpd:sudo systemctl start lighttpd

5.9 创建登录用户

为了可以登录网络接口,需要创建一个用户,在其中设置自己的用户名和密码(创建成功以后可在网页右上角的Login登录并提交作业):

[jensd@node01 opt]$ sudo python /opt/openlava_webui/manage.py syncdb
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
 
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'): jensd
Email address:
Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

5.10 给Django项目指定端口号:

sudo python /opt/openlava_webui/manage.py runfcgi method=prefork host=127.0.0.1 port=3033 pidfile

至此,可在浏览器中输入地址http://master/olweb 访问openlava web端!

0

评论区