# Looking for a "get started guide"

**URL:** <https://community.openpbs.org/t/looking-for-a-get-started-guide/2089>\
**Category:** Developers\
**Created:** [April 21, 2020, 7:55am UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089 "2020-04-21T07:55:26Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 21, 2020, 7:55am UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/1 "2020-04-21T07:55:26Z")

</div>

Extremely new to PBS Pro and to the world of job scheduling.  
I’m looking for something along the lines of a get started guide that includes **installation** and some sort of **demo** dummy system. Something that tells me how to setup a node or two and run a dummy job on them.

_quick question to get my head around_  
**Q1**. From what I’ve understood PBS Pro should allow me to submit a job to any of my (ex:10) machines depending on availability and machine load?

_now to the installation & demo dummy I’m looking for_  
So far I’ve found the installation [https://github.com/PBSPro/pbspro/blob/master/INSTALL](https://github.com/PBSPro/pbspro/blob/master/INSTALL)

Also found this which looks like it has a dummy job [https://www.webmo.net/support/pbs.html](https://www.webmo.net/support/pbs.html)

**Q2**. Perhaps that’s all there is to it? I was thinking something a little more “complex” w/ nodes and running a job depending on load (I guess if another job is currently running or high cpu loads - docker use case?)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 21, 2020, 10:58pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/2 "2020-04-21T22:58:23Z")

</div>

Hi @aanderr

Thank you for your interest in PBS Professional

- the best approach is to create a VM running CentOS 7 using hypervisors ( VirtualBox or VMware)

- make sure to turn off the firewalls , selinux , iptables ( reboot the system(VM) after making any changes)

- give it a hostname and static IP address , so that everytime it boots up it gets the same IP, populate the same in the /etc/hosts (if there are 1 or more nodes all the nodes should have static IP / hostname and should be populated in the /etc/hosts of all the nodes of the PBS complex)

- here we are installing all in one PBS complex, if you have 1 or more nodes, then you would need to setup common home directory and passwordless ssh for all the users , with stricthostchecking disabled + steps mentioned above

- create a user account called “pbsdata” with some password

- Download pre-compiled PBS Pro rpm’s for CentOS 7 from this link [https://www.pbspro.org/Download.aspx#download](https://www.pbspro.org/Download.aspx#download)

- Install the required dependencies ( [https://github.com/PBSPro/pbspro/blob/master/INSTALL](https://github.com/PBSPro/pbspro/blob/master/INSTALL) )  
**yum install -y expat libedit postgresql-server postgresql-contrib python3   
\*\* sendmail sudo tcl tk libical**

- as root unzip the package and yum install pbspro-server\*rpm

- edit /etc/pbs.conf and update PBS\_START\_MOM=1 ( it will be PBS\_START\_MOM=0 )  
/etc/init.d/pbs start

- source /etc/profile.d/pbs.sh

- qmgr -c ‘s s job\_history\_enable=true’  
qmgr -c “s s flatuid=true”  
qmgr -c “create queue workq queue\_type=e, started=t, enabled=t”  
qmgr -c “set server default\_queue=workq”  
qmgr -c “create node pbsserver” # e.g., pbsserver is the hostname of the compute node we are adding

- su - pbsdata and submit a sleep job as below  
qsub – /bin/sleep 100  
qstat -answ1 # to monitor

- Documents at this link should be able to help you with the rest  
[Altair Product Documentation - Altair Community](https://www.altair.com/pbs-works-documentation/)

Answer to your queries:

> [@aanderr](#):
>
> **Q1**. From what I’ve understood PBS Pro should allow me to submit a job to any of my (ex:10) machines depending on availability and machine load?

Yes. PBS Professional will schedule your jobs based on the resources requested for your job and resource availability. If you have 1 node with 10 cores and 100GB memory and no jobs in the system, then

- if you submit a job requesting 6 cores and 60GB memory , then the job will be run
- if you submit a job requesting 5 cores and 40GB memory , then the job will be queued
- if you submit a job with 2 cores 20GB memory, then job will run
- if you submit a job with 2 cores 20GB memory , then the job will run

> [@aanderr](#):
>
> _now to the installation & demo dummy I’m looking for_  
> So far I’ve found the installation [https://github.com/PBSPro/pbspro/blob/master/INSTALL](https://github.com/PBSPro/pbspro/blob/master/INSTALL)  
> Also found this which looks like it has a dummy job [Installing Torque 6.0.1 on CentOS 7](https://www.webmo.net/support/pbs.html)

If you are comfortable follow the above instruction guide.  
Instructions in the second link is not related to the PBS Pro OSS version / release.

> [@aanderr](#):
>
> **Q2**. Perhaps that’s all there is to it? I was thinking something a little more “complex” w/ nodes and running a job depending on load (I guess if another job is currently running or high cpu loads - docker use case?)

Sure , this can be done.  
Please check the below section from this guide : [https://www.altair.com/pdfs/pbsworks/PBS19.2.3\_BigBook.pdf](https://www.altair.com/pdfs/pbsworks/PBS19.2.3_BigBook.pdf)  
4.9.9.6.i Attributes and Parameters Affecting Cycle Harvesting Based on Load Average

Hope this helps.

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 7:43am UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/3 "2020-04-22T07:43:25Z")

</div>

Hi @adarsh

> [@adarsh](#):
>
> Hope this helps.

This definitely helps a lot! Thank you 🙂

I installed _CentOS 8_ instead as I begun the installation before you replied.  
Is _CentOS 7_ a requirement for _PBS Pro_ to work?

I’m using [this kernel version](https://centos.pkgs.org/8/centos-baseos-x86_64/kernel-4.18.0-147.el8.x86_64.rpm.html)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 22, 2020, 10:13am UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/4 "2020-04-22T10:13:16Z")

</div>

> [@aanderr](#):
>
> Is _CentOS 7_ a requirement for _PBS Pro_ to work?

It is not a requirement, you can compile the PBS Pro OSS source code to the operating system of your choice (please check this link [https://github.com/PBSPro/pbspro/blob/master/INSTALL](https://github.com/PBSPro/pbspro/blob/master/INSTALL) ). However, the pre-compiled installers/rpm are readily made available for CentOS7 and OpenSuse 15. This will get you going with a testbed ASAP. Otherwise, you would have to spend some time in compiling the sources.

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 10:20am UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/5 "2020-04-22T10:20:31Z")

</div>

> [@adarsh](#):
>
> However, the pre-compiled installers/rpm are readily made available for CentOS7 and OpenSuse 15. This will get you going with a testbed ASAP. Otherwise, you would have to spend some time in compiling the sources.

I see, thanks! I switched over to CentOS 7. Keeping you posted 🙂

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 12:24pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/6 "2020-04-22T12:24:40Z")

</div>

> [@adarsh](#):
>
> /etc/init.d/pbs start

Getting a permission denied error @adarsh

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/4ed5440dc9dca5803d3f293f87db48e65541c7d1.png)

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 12:32pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/8 "2020-04-22T12:32:35Z")

</div>

> [@aanderr](#):
>
> Getting a permission denied error

Tried this but to no avail

```auto
groupadd pbsdata
useradd -g pbsdata -r pbsdata
mkdir -p /var/spool/pbs/datastore
chown pbsdata:pbsdata /var/spool/pbs/datastore

```

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 12:36pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/9 "2020-04-22T12:36:37Z")

</div>

> [@aanderr](#):
>
> Getting a permission denied error

Progress! Still getting errors.  
_Selinux must be disabled before starting PBS_

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/0bf2aaa2f043ec22cf7e9c7a2f400fde5a7ad07d.png)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 22, 2020, 12:37pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/10 "2020-04-22T12:37:04Z")

</div>

Did you start the pbs services as root user ?  
Please check this discussion: [The problem with running on a clean virtual machine](http://community.openpbs.org/t/the-problem-with-running-on-a-clean-virtual-machine/1612/4)

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 12:42pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/11 "2020-04-22T12:42:43Z")

</div>

> [@adarsh](#):
>
> Did you start the pbs services as root user ?

Yes.

> [@adarsh](#):
>
> qmgr -c ‘s s job\_history\_enable=true’

This command fails  
 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/4acd8105fa8285b5437230aa682728b7736a2b3c.png)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 22, 2020, 12:48pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/12 "2020-04-22T12:48:03Z")

</div>

1. static IP and hostname

2. /etc/hosts should be populated

3. commands are working

4. firewall disabled , selinux disabled and system should be restarted.

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 1:18pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/13 "2020-04-22T13:18:50Z")

</div>

> [@adarsh](#):
>
> static IP and hostname

Done

> [@adarsh](#):
>
> /etc/hosts should be populated

Done

> [@adarsh](#):
>
> commands are working

I think? 😃

> [@adarsh](#):
>
> firewall disabled , selinux disabled and system should be restarted.

Done

> [@adarsh](#):
>
> qmgr -c ‘s s job\_history\_enable=true’

Does the command contain a tilde like so `  
or is it a single quote like so ’

I tried both cases, the second giving me a \>  
Would that be correct or no?

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/7bf2e285762d34c4b83c51615aaf408855b54826.png)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 22, 2020, 1:21pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/14 "2020-04-22T13:21:52Z")

</div>

> [@adarsh](#):
>
> qmgr -c ‘s s job\_history\_enable=true’

If you copy paste it from windows, then there might be some special characters.  
You can use double quotes instead (notepad++ or notepad )

> qmgr -c “set server job\_history\_enable=true”

Please use the IP address of your VM or the system, the information given above was a sample /etc/hosts

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 1:38pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/15 "2020-04-22T13:38:34Z")

</div>

> [@adarsh](#):
>
> Please use the IP address of your VM or the system

Done. Missed that.

> [@adarsh](#):
>
> qmgr -c “set server job\_history\_enable=true”

![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/458a7b5624eda179e45c598f967445f7460d4202.png)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 22, 2020, 1:46pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/16 "2020-04-22T13:46:48Z")

</div>

Please share the output of these commands:

1. ps -ef | grep pbs\_
2. cat /etc/hosts
3. hostname
4. cat /etc/pbs.conf
5. source /etc/pbs.conf ; cat $PBS\_HOME/mom\_priv/config
6. ifconfig

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 2:15pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/17 "2020-04-22T14:15:30Z")

</div>

> [@adarsh](#):
>
> - ps -ef | grep pbs\_
> - cat /etc/hosts
> - hostname
> - cat /etc/pbs.conf
> - source /etc/pbs.conf ; cat $PBS\_HOME/mom\_priv/config

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/78841ad28e7ffb8fbb7733b84ee7fb4340a05545.png)

> [@adarsh](#):
>
> ifconfig

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/b21c148087c3b6044c08280ff9b8eb11ed12bc4b.png)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 22, 2020, 3:18pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/18 "2020-04-22T15:18:18Z")

</div>

Thank you @aanderr. It seems like the pbs services are not up and running

As root user, please run the below commands and instructiosn:

1. hostnamectl set-hostname pbsserver --static  
#close the terminal  
#open the terminal and go to step 1

2. edit /etc/pbs.conf and update

PBS\_SERVER=pbsserver

1. edit /var/spool/pbs/mom\_priv/config and update  
$clienthost pbsserver

2. /etc/init.d/pbs start

3. ps -ef | grep pbs\_

4. /etc/init.d/pbs status

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 3:32pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/19 "2020-04-22T15:32:17Z")

</div>

> [@adarsh](#):
>
> /etc/init.d/pbs status

Thanks, looks much better! However, the errors persist

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/6b822f4e9bf90d4a13a7e486195df543dc261fe9.png)

---

<div class="post-metadata">

**Author:** ![adarsh](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@adarsh](https://community.openpbs.org/u/adarsh)\
**Post date:** [April 22, 2020, 3:46pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/20 "2020-04-22T15:46:00Z")

</div>

Please note, all the **qmgr** commands are to be run by the root user  
Please share us the output of this command (run as root user)  
0. /etc/init.d/pbs restart

1. qstat -Bf
2. netstat -tunap | grep pbs
3. /etc/init.d/pbs status

If the “qstat” command does not work , then please run the below command and share us the contents of strace.txt. If you do not have strace command, then please install it using yum

strace qstat -Bf -o strace.txt

---

<div class="post-metadata">

**Author:** ![aanderr](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@aanderr](https://community.openpbs.org/u/aanderr)\
**Post date:** [April 22, 2020, 3:52pm UTC](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089/21 "2020-04-22T15:52:34Z")

</div>

> [@adarsh](#):
>
> all the **qmgr** commands are to be run by the root user

Ah. I think that did it!

> [@adarsh](#):
>
> /etc/init.d/pbs restart

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/fa4a46081d8e962d8a7283aa50e0959d4c469603.png)

> [@adarsh](#):
>
> netstat -tunap | grep pbs

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/dfd97d86b40d38651a20a320ab2b77e221f8e7cf.png)

The last two commands:

> [@adarsh](#):
>
> su - pbsdata and submit a sleep job as below  
> qsub – /bin/sleep 100  
> qstat -answ1 # to monitor

So the /bin/sleep 100 is supposed to start a job, right?

The snippet has the wrong commands:  
I’ve now done /bin/sleep 100 and qstat -answ1 on another terminal and can’t see anything.  
 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/e14eff97edca8068d489c5e6bfc2abd12cad2a90.png)

_qstat command_

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/pbspro/original/1X/e2b9c900dbc50ec4c76a5065af2444dc9aef1aaf.png)

[Next page](https://community.openpbs.org/t/looking-for-a-get-started-guide/2089.md?page=2)
