1. Install Job Server on the Server Host
To install Job Server on the Server Host, follow these steps on the command line when logged in to the Server Host:
-
Create a user account that is used to run the main Job Server process (jobserverd):
sudo useradd jobserver -c "Job Server User" --home <jobserver_dir> sudo mkdir <jobserver_dir> sudo chown jobserver <jobserver_dir>
Replace <jobserver_dir> with the absolute path of the directory where the Job Server files should be installed. Install the Job Server into a directory separate from any Schrödinger Suite installation so you can update the Schrödinger Suite and Job Server installations independently.
-
Impersonate the new "jobserver" user account:
sudo su - jobserver
-
Initialize the Job Server configuration. Make sure that $SCHRODINGER points to the Schrödinger Suite installation directory from where the Job Server binaries should be installed.
$SCHRODINGER/jsc admin setup-server \ --host <jobserver_host> \ --dir <jobserver_dir> \ --queue <queue> \ --with-local-auth \ --installation-parent-dir <some directory>-
<jobserver_host> is the fully qualified domain name of the Server Host. The name needs to be resolvable from all hosts that need to interact with the jobserverd process, in particular all Submission Hosts and Execution Hosts.
-
<jobserver_dir> is the absolute path of the Job Server installation directory. This directory needs to be only accessible to the "jobserver" user.
-
<queue> is the batch queuing system to which Job Server submits the jobs. Use:
- "sge" or "uge" for SGE and variants
- "slurm" for Slurm
- "lsf" for LSF
- "pbs" for PBSPro
-
--with-local-auth prepares the Job Server to use socket-based authentication (the following configuration prepares the Job Server to use both LDAP and socket based authentication).
-
--installation-parent-dir <some directory> prepares the Job Server Host to search for a Schrödinger installation matching the release the client used to submit the job. This must be the parent directory of your your Schrödinger installations, not a specific Schrödinger installation directory. See installation_parent_directories in the Specify compute Schrödinger installations section of Advanced Configuration Options for more information and examples.
-
- Exit from the "jobserver" user account.
-
Change the ownership of the queue commands.
sudo chown root:jobserver <jobserver_dir>/hpc_queue/bin/<queue>_submit sudo chown root:jobserver <jobserver_dir>/hpc_queue/bin/<queue>_cancel
-
Change the permissions on the queue commands (“setuid”)
sudo chmod 4750 <jobserver_dir>/hpc_queue/bin/<queue>_submit sudo chmod 4750 <jobserver_dir>/hpc_queue/bin/<queue>_cancel
NOTE: All Job Server configuration options are determined from the Job Server configuration file /config/jobserver.yml. You can manually change these options. See Advanced Configuration Options.
NOTE: Modifying the ownership and permissions of these utilities allows users to submit jobs under their own user account. Otherwise, all jobs are submitted to the batch queue as the “jobserver” user.