xproofd man page

xproofd — PROOF (The Parallel ROOT Facility) xrootd version

Synopsis

xproofd [ -c cfn ] [ -d ] [ -l fnc ] [ -n name ] [ -p port ] [ -P prot ] [ prot_options ]

Description

Using PROOF (The Parallel ROOT Facility) one can analyze trees in parallel on a cluster of computers. The PROOF system consists of the xproofd(1) from-end program which is started via inetd(8).

xproofd takes care of user authentication and overlays itself then with the desired version of the proofserv(1) executable.

interactive module root(1), except that it reads its commands from a socket instead of from the terminal.

Since it is a remote server it will not do graphics and therefore is not linked with any graphics libraries (Motif, X11, etc.).

Setting Up Proof

Since you need to handle sensitive system files, you need to have root (the user, not the program!) privileges. Also, it's recommended that you read the appropriate man(1) pages first. These are inetd(8) (the internet daemon), sysklogd(8) and syslog(3) (the system logger daemon), and init(8) (the SYSV process control initializer).

In other words:

Be very VERY carefull when installing xproofd

There, I said it. And ofcourse, no warrenties what so ever.

1
Make sure every node has ROOT installed. We'll assume you installed the ROOT applications in <bindir> (e.g. /usr/bin) and the PROOF configuration files in files in <xproofdir>/etc (e.g. /usr/share/root/etc).
2

The TCP port 1094 was allocated by IANA, ( www.iana.org ), to xrootd, so add to /etc/services the lines:

xproofd  1093/tcp
xrootd   1094/tcp
3

On each node, add to /etc/inetd.conf the lines:

xproofd stream tcp nowait root <bindir>/xproofd xproofd <xproofdir>/proof
xrootd stream tcp nowait root <bindir>/xrootd xrootd -i

You can substitute the <xproofdir> with any directory that holds your PROOF configuration, for example /etc/root/proof. However, it should be shared among all nodes in the cluster.

4

Restart inetd or force it to re-read the config file:

kill -1 <inetd pid>

If you use SYSV init(8) scripts, you can probaly just do

/etc/init.d/inetd restart

or whatever is appropriate for your system.

5

On the master node, add to /etc/syslog.conf the line:

local5,local6.debug     <xproofdir>/log/proof.log

and all slave nodes:

local5,local6.debug     @<master hostname>

where <master hostname> is domain name of the master node. All PROOF syslog messages will be collected on the master node. Just make one node in the cluster the master, all others are slaves.

6

On all nodes, change the below lines in /etc/syslog.conf,

*.info;mail.none;news.none;authpriv.none  /var/log/messages

to:

*.info;local5,local6,mail.none;news.none;authpriv.none  /var/log/messages
7

Create an empty <xproofdir>/log/proof.log:

echo "" > <xproofdir>/log/proof.log
8

Restart syslogd or force it to re-read the config file:

kill -1 <syslogd pid>.

If you use SYSV init(8) scripts, you can probaly just do

/etc/init.d/sysklogd restart

or whatever is appropriate for your system.

9
Edit <xproofdir>/etc/proof.conf to reflect your cluster configuration. See the example proof.conf file for more information.

If you installed ROOT using some precompiled package (for example a Redhat Linux or a Debian GNU/Linux package), steps 2 to 4 may already be done for you.

If you're running Linux, Steps 5 to 7 can be somewhat automated using the script proof-facility in <xproofdir> of your distribution. This script uses syslog-facility(1), from the Linux syslog(1) distribution, and may run on other platforms as well - but no warrenties mind you!

Step 9 is completely up to the user.

Example

That's it. To test PROOF try the following:

root [1] gROOT->Proof("<master hostname>")
root [2] gPROOF->Print()
<shows information on the master and all active slave servers>
root [3] .q

Files

<xproofdir>
The location of your PROOF data. In binary packages, like for Redhat LinuxI or Debian GNU/Linux, this will probably be /usr/share/root/proof. If you got a binary tar(1)-ball from the ROOT website, or a build it yourself without the static paths option, then this directory could be ROOTSYS/proof. However, you may set it to something else when starting your server.
<xproofdir>/etc
This directory holds all the configuration files for your cluster(s).
<xproofdir>/etc/<cluster>.conf
This is the cluster named <cluster> configuration file. See <xproofdir>/etc/<cluster>.conf.sample for an example.
<xproofdir>/etc/motd
This is Message-Of-The-Day file. See <xproofdir>/etc/motd.sample for an example.
<xproofdir>/etc/noproof
If this file is present, all PROOF services will be diabled. See <xproofdir>/etc/noproof.sample for an example.
<xproofdir>/etc/proof.conf
This is the PROOF configuration file. See <xproofdir>/etc/proof.conf.sample for an example.
~/.rootnetrc.conf
Configuration file for network access. Here you specify login names and pass word, so it MUST be read/write-able only by the user. See <xproofdir>/etc/rootnetrc.conf.sample for an example.
<xproofdir>/log
This directory holds the log files from the master and slaves. <xproofdir>/log/proof.log Syslog(1) log file for PROOF.

See Also

proofserv(1) , root(1) , rootd(1) , xrootd(1)

More information can be found at the ROOT website: http://root.cern.ch

Original Authors

The ROOT team (see web page above):

Rene Brun and Fons Rademakers

Author

This manual page was written by Christian Holm Christensen <cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by others).

Info

Version 3 ROOT