6.12 Installing Moab Workload Manager

This topic contains instructions on how to install and start Moab Workload Manager (Moab).

For Cray systems, Adaptive Computing recommends that you install Moab and Torque Servers (head nodes) on commodity hardware (not on Cray compute/service/login nodes).

However, you must install the Torque pbs_mom daemon and Torque client commands on Cray login and "mom" service nodes since the pbs_mom must run on a Cray service node within the Cray system so it has access to the Cray ALPS subsystem.

See Installation Notes for Moab and Torque for Cray in the Moab Workload Manager Administrator Guide for instructions on installing Moab and Torque on a non-Cray server.

In this topic:

6.12.1 Open Necessary Ports

Moab uses a configurable server port (default 42559) for client-server communication. If you intend to run client commands on a different host from the Moab Server Host, or if you will be using Moab in a grid, and if you have a firewall enabled, you will need to configure the firewall to allow the server port.

On the Moab Server Host, do the following:

[root]# iptables-save > /tmp/iptables.mod
[root]# vi /tmp/iptables.mod

# Add the following lines immediately *before* the line matching
# "-A INPUT -j REJECT --reject-with icmp-host-prohibited"

# Needed on the Moab server for off-host client communication
-A INPUT -p tcp --dport 42559 -j ACCEPT

[root]# iptables-restore < /tmp/iptables.mod
[root]# service iptables save
[root]# firewall-cmd --add-port=42559/tcp --permanent
[root]# firewall-cmd --reload
[root]# vi /etc/sysconfig/SuSEfirewall2

# Add the following ports to the FW_SERVICES_EXT_TCP parameter as required

# Needed on the Moab server for off-host client communication
FW_SERVICES_EXT_TCP="42559"

[root]# service SuSEfirewall2_setup restart
[root]# vi /etc/sysconfig/SuSEfirewall2

# Add the following ports to the FW_SERVICES_EXT_TCP parameter as required

# Needed on the Moab server for off-host client communication
FW_SERVICES_EXT_TCP="42559"

[root]# service SuSEfirewall2 restart

6.12.2 Install Dependencies, Packages, or Clients

In this section:

6.12.2.A Dependencies and Packages

On the Moab Server Host, use the following commands to install the required Moab dependencies and packages.

[root]# yum update
[root]# yum install make libcurl perl-CPAN libxml2-devel gcc
[root]# zypper update
[root]# zypper install make curl libxml2-devel gcc

6.12.2.B Torque Client

If you are using Torque and are installing the Torque Server on a different host (Torque Server Host) from the Moab Server (Moab Server Host), you will need to install the Torque client on the Moab Server Host in order for Moab to interact with Torque.

Follow the instructions in 1.1.6 Install Torque Clients using the Moab Server Host as the Torque Client Host; with the exception that you must copy and install the torque-package-devel-linux-<arch>.sh self-extracting package in addition to the torque-package-client-linux-<arch>.sh package.

6.12.3 (Optional) Build a Custom RPM

If you want to build a custom RPM, do the following:

  1. Install rpm-build.
    [root]# yum install rpm-build
    [root]# zypper install rpm-build
  2. Download the latest Moab build (moab-<version>-<OS>.tar.gz) from the Adaptive Computing Moab HPC Suite Download Center.

    The variable marked <version> indicates the build's version, revision, and changeset information. The variable marked <OS> indicates the OS for which the build was designed.

  3. Untar the downloaded package.
  4. Change directories into the untarred directory.
  5. Edit the ./moab.spec file for RPM customization.
  6. Run ./rpm-build.
  7. Locate the custom RPM in rpm/RPMS/x86_64.

6.12.4 Install Moab Server

You must complete the tasks to install the dependencies, packages, or clients before installing Moab Server. See 6.12.2 Install Dependencies, Packages, or Clients.

If your configuration uses firewalls, you must also open the necessary ports before installing the Moab Server. See 6.12.1 Open Necessary Ports .

On the Moab Server Host, do the following:

  1. Download the latest Moab build (moab-<version>-<OS>.tar.gz) from the Adaptive Computing Moab HPC Suite Download Center.

    The variable marked <version> indicates the build's version, revision, and changeset information. The variable marked <OS> indicates the OS for which the build was designed.

  2. As the root user, run each of the following commands in order.
    [root]# tar xzvf moab-<version>-<OS>.tar.gz
    [root]# cd moab-<version>-<OS>

    If Elastic Computing is part of your Moab Workload Manager configuration, install deps/acpython-base*.

    [root]# yum install deps/acpython-base*
    [root]# zypper install deps/acpython-base*
  3. Configure Moab. If you are installing Moab Accounting Manager, configure Moab with the --with-am option.
    [root]# ./configure <options>

    See 6.20 Moab Workload Manager Configuration Options for a list of commonly used options or use ./configure --help for a complete list of available options.

  4. ONLY if you are using green computing, or if you are using a resource manager other than Torque.

    Run the make perldeps command to install the necessary perl modules using CPAN. When first running CPAN, you will be asked for configuration information. It is recommended that you choose an automatic configuration. You will be prompted to provide input during module installation; running the make perldeps command with a script is not recommended.

  5. [root]# make perldeps
  6. Install Moab.
  7. [root]# make install
  8. Modify the Moab configuration file.
  9. [root]# vi /opt/moab/etc/moab.cfg

    Do the following:

    1. Verify that SUBMITCMD is set up for your Torque resource manager and that it points to a valid qsub executable. For example:
    2. RMCFG[torque] SUBMITCMD=/usr/local/bin/qsub

      If you use a SLURM resource manager, see Moab-SLURM Integration Guide in the Moab Workload Manager Administrator Guide for configuration information. If you use a NATIVE resource manager, see Managing Resources Directly with the Native Interface in the Moab Workload Manager Administrator Guide for configuration information.

    3. If you are using Torque as a resource manager and you installed the Torque Server on a different host (Torque Server Host), configure the RMCFG HOST parameter to tell Moab the host on which Torque Server is running.
      RMCFG[torque] HOST=<torque_server_hostname>
  10. Source the appropriate profile script to add the Moab executable directories to your current shell $PATH environment.
  11. [root]# . /etc/profile.d/moab.sh
  12. Copy your license file into the same directory as moab.cfg (/opt/moab/etc/ by default).
    [root]# cp moab.lic $MOABHOMEDIR/etc/moab.lic

    To verify the current status of your license, run the following command:

    [root] # moab --about 2>&1 | grep License

    You should get something similar to the following in the response:

    Moab Workload Manager Version '9.0.2' License Information:
     Current License:  Max Procs   = 10000
     Current License:  Valid Until - Thu Jul 13 19:42:10 2017

    A license is required for Moab. A trial license may be included in your Moab installation enabling you to run Moab for a limited time and with limited features. Email [email protected] for information on obtaining licenses.

  13. Start Moab.
  14. [root]# chkconfig moab on
    [root]# service moab start
    [root]# chkconfig moab on
    [root]# service moab start
    [root]# systemctl start moab.service
    [root]# systemctl start moab.service

6.12.5 Configure Torque to Trust Moab

If you are using Torque as a resource manager and you installed the Torque Server on a different host (Torque Server Host); recommended, do the following:

6.12.6 Verify the Installation

If you have a resource manager configured, verify that the scheduler is able to schedule a job. Do the following:

6.12.7 (Optional) Install Moab Client

After you have installed Moab Server, you can create a client tarball to install just the Moab client commands on a login/client host. This tarball uses a single tar command to install the binary Moab client command files and their man pages. The tarball also contains a moab.cfg file configured with the Moab Server host name and port number so you do not have to manually configure this information on the login/client node.

If your site needs secure communication and authentication between Moab Client Host and the Moab Server Host, create a site-specific key and place it in the same directory as your moab.cfg file. By default, this would be $MOABHOMEDIR/etc/.moab.key. When the Moab server and client commands detect the presence of those two files they will use the key in those files to authenticate and communicate, instead of the default key. See Mauth Authentication in the Moab Workload Manager Administrator Guide for more information.

Do the following:

  1. On the Moab Server Host, create the client tarball.
    [root]# make client-pkg
  2. Copy the tarball to the root directory of the Moab Client Host.
  3. On the Moab Client Host, run the tarball to install the Moab client commands.
    [root]# tar xvf client.tgz

Related Topics 

© 2017 Adaptive Computing