(Click to open topic with navigation)
These instructions describe how to install and start Moab Workload Manager (Moab).
Use the following commands to install the required Moab Workload Manager dependencies and packages (listed in the Installing Moab Workload Manager section above).
RHEL , CentOS, and Scientific Linux:
[root]# yum update [root]# yum install make libcurl perl-CPAN libxml2-devel
SLES:
[root]# zypper update [root]# zypper install make curl libxml2-devel
Optional: To build a custom RPM
[root]# yum install rpm-build
The variable marked <version> is the desired version of the suite; for example, 8.0-2014061017-8f96ac8d would be Moab 8.0 revision 2014061017 at changeset 8f96ac8d. The variable marked <OS> indicates which OS the build was designed for.
To install Moab Workload Manager
The variable marked <version> is the desired version of the suite; for example, 8.0-2014061017-8f96ac8d would be Moab 8.0 revision 2014061017 at changeset 8f96ac8d. The variable marked <OS> indicates which OS the build was designed for.
[root]# tar xzvf moab-<version>-<OS>.tar.gz [root]# cd moab-<version>-<OS>
Configure Moab. For a complete list of ./configure options, use ./configure --help or refer to Moab Workload Manager configuration options for a list of commonly used options.
It is strongly recommended that you configure Moab with the --with-init and --with-profile options. The --with-profile option makes it easier to execute Moab commands (see step 8). The --with-init option allows Moab to automatically start at OS startup (see step 11).
[root]# ./configure <options>
[root]# make perldeps
[root]# make install
Copy the appropriate init.d file, set the permissions on it, and configure Moab to start automatically at system boot.
* If SLES distribution, do the following * [root]# cp OS/SLES/etc/init.d/moab /etc/init.d/moab [root]# chmod 755 /etc/init.d/moab [root]# chkconfig --add moab
[root]# vi /opt/moab/etc/moab.cfg
Do the following:
RMCFG[torque] SUBMITCMD=/usr/local/bin/qsub
If you use a SLURM resource manager, see Moab-SLURM Integration Guide for configuration information. If you use a NATIVE resource manager, see Managing Resources Directly with the Native Interface for configuration information.
ADMINCFG[1] USERS=root,tomcat
[root]# . /etc/profile.d/moab.sh
[root]# cp moab.lic $MOABHOMEDIR/etc/moab.lic
To verify the current status of your license, use moab --about.
Moab checks the status of the license every day just after midnight. At 60 and 45 days before, and daily from 30 days before license expiration to and including the license expiration date, Moab sends an e-mail to all level 1 administrators informing them of the pending Moab license expiration. A log record is also made of the upcoming expiration event. For the notifications to occur correctly, you must enable administrator email notification (see "Notifying Administrators of Failures" in the Moab Workload Manager Administrator Guide) and moab.cfg must contain email addresses for level 1 administrators. For example:
ADMINCFG[1] USERS=u1,u2,u3[,...] USERCFG[u1] [email protected] USERCFG[u2] [email protected] USERCFG[u3] [email protected] MAILPROGRAM DEFAULT
Moab will not run without a license. For information about obtaining a trial license, please contact Adaptive Computing.
[root]# chkconfig moab on [root]# service moab start
[root]# su - user [user]$ echo sleep 150 | msub [user]$ showq
[user]$ exit
If you will be installing Moab Web Services, connect Moab to MongoDB using the following instructions:
The USEDATABASE parameter is unrelated to the MongoDB configuration.
Set the MONGOSERVER parameter in /opt/moab/etc/moab.cfg to the MongoDB server hostname. Use localhost as the hostname if Moab and MongoDB are hosted on the same server.
MONGOSERVER <host>[:<port>]
If your MONGOSERVER host is set to anything other than localhost, edit the /etc/mongod.conf file on the MongoDB server host and either comment out any bind_ip parameter or set it to the correct IP address:
# Listen to local interface only. Comment out to listen on all interfaces. #bind_ip=127.0.0.1
MONGOUSER moab_user MONGOPASSWORD secret2
[root]# service moab restart [root]# mdiag -S ... Mongo connection (localhost) is up (credentials are set) ...
(required) Moab and MWS use Message Authentication Codes (MAC) to ensure messages have not been altered or corrupted in transit. Generate a key and store the result in /opt/moab/etc/.moab.key:
[root]# service moab stop [root]# dd if=/dev/urandom count=18 bs=1 2>/dev/null | base64 > /opt/moab/etc/.moab.key [root]# chown root:root /opt/moab/etc/.moab.key [root]# chmod 400 /opt/moab/etc/.moab.key [root]# service moab start
The key you specify in the .moab.key file is the same key you must also specify in the moab.secretKey property when installing and configuring MWS (see Installing Moab Web Services).
(optional) Moab supports message queue security using AES. This feature requires a Base64-encoded 16-byte (128-bit) shared secret. Generate a key and append the result to /opt/moab/etc/moab-private.cfg:
[root]# service moab stop [root]# echo "MESSAGEQUEUESECRETKEY $(dd if=/dev/urandom count=16 bs=1 2>/dev/null | base64)" >> /opt/moab/etc/moab-private.cfg [root]# service moab start
The key you specify in the moab-private.cfg file is the same key you must also specify in the moab.messageQueue.secretKey property when installing and configuring MWS (see Installing Moab Web Services).
If MWS is configured to encrypt the message queue and Moab is not (or vice versa), then MWS will ignore the messsages from Moab. Furthermore, all attempts to access the MWS service resource will fail.
(optional) Verify that encryption is on for the ZeroMQ connection.
[root]# mdiag -S|grep 'ZeroMQ MWS' ZeroMQ MWS connection is bound on port 5570 (encryption is on)
Related topics