Sun N1 Grid Engine 6.1 Installation Guide

Installing the Accounting and Reporting Software

ProcedureHow to Set Up dbWriter

  1. Extract the accounting and reporting software using either the tar method or the pkgadd method.

    • tar Method


      # cd sge-root
      

      Type the following command as one string, with a space between the -dc and the path to the tar file.


      # gunzip -dc 
      cdrom-mount-point/N1_Grid_Engine_6_1/ARCo/tar/n1ge-6_0-arco-1_0.tar.gz | tar xvpf -
      
    • pkgadd Method

      At the command prompt, type the following command and respond to the script questions.


      # cd cdrom_mount_point/N1_Grid_Engine_6_1/ARCo/Packages
      # pkgadd -d . SUNWsgeea
      
  2. As the administrative user, set your environment variables.

    • If you are using a Bourne shell or Korn shell, type the following command:


      $ . sge-root/default/common/settings.sh
      
    • If you are using a C shell, type the following command:


      % source sge-root/default/common/settings.csh
      
  3. Change the global configuration to enable reporting.

    For details on how to enable reporting, see Report Statistics (ARCo) in Sun N1 Grid Engine 6.1 Administration Guide.


    % qconf -mconf
    <......>
    reporting_params    accounting=true \
     reporting=true flush_time=00:00:15 joblog=true \
     sharelog=00:00:00<......>
    

    By default, no report variables are activated. You can use the qconf command to enable statistics gathering on specific variables, as shown in the following example.


    % qconf -me global
    hostname              global
    <......>
    report_variables      cpu,np_load_avg,mem_free,virtual_free
    <......>
  4. Install the dbWriter software.


    Note –

    The dbwriter software needs to be installed as user root.



    # cd sge-root/dbwriter
    % cd sge-root/dbwriter
    % su
    password:
    # ./inst_dbwriter
    # ./inst_dbwriter
    
    Welcome to the GE installation
    ---------------------------------------
    
    GE dbWriter installation
    ---------------------------------
    The dbWriter installation will take approximately 5 minutes
    
    Hit <RETURN> to continue >> 
  5. Specify the location of sge-root, and the name of your cell or cells.


    Hit <RETURN> to continue >> 
    
    Checking $SGE_ROOT directory
    ----------------------------
    
    The GE root directory is:
    
       $SGE_ROOT = /opt/n1ge6
    
    If this directory is not correct (e.g. it may contain an automounter
    prefix) enter the correct path to this directory or hit <RETURN>
    to use default [/opt/n1ge6] >> 
    
    Your $SGE_ROOT directory: /opt/n1ge6
    
    Hit <RETURN> to continue >> 
    
    GE cells
    -----------------
    
    GE supports multiple cells.
    
    If you are not planning to run multiple GE clusters or if you don't
    know yet what is a GE cell it is safe to keep the default cell name
    
       default
    
    If you want to install multiple cells you can enter a cell name now.
    
    The environment variable
    
       $SGE_CELL=<your_cell_name>
    
    will be set for all further GE commands.
    
    Enter cell name [default] >> 
    
    Using cell >default<. 
    Hit <RETURN> to continue >> 
  6. Specify the location of your Java Software Development Kit.

    Version 1.4.2 or higher is required. If your JAVA_HOME environment variable is set, the script will use that as a default value.


    Please enter the path to your java 1.4 installation [/usr/java] >>/opt/j2sdk1.4.2_06
    
  7. Specify the connection parameters for the reporting database.


    Setup your database connection parameters
    -----------------------------------------
    
    Enter your database type ( o = Oracle, p = PostgreSQL, m = MySQL ) [] >> p
    
    Please enter the name of your postgres db host []>> my-host.my-domain
    
    Please enter the port of your postgres db [5432] >>
    
    Please enter the name of your postgres database [arco] >> 
  8. Provide the user name and password of the database user.


    Please enter the name of the database user [arco_write] >> 
    
    Please enter the password of the database user >> 
    Please retype the password >> 
  9. Type the name of the database schema.

    • If the JDBC driver is found, you will be asked for the name of the schema.

      For PostgreSQL this value is normally public. For Oracle, this value should be the user name of the database owner (arco_write).


      Please enter the name of the database schema [public] >> 
      
      Search for the jdbc driver org.postgresql.Driver 
      in directory /opt/n1ge6/dbwriter/lib ..........
      found in /opt/n1ge6/dbwriter/lib/pg73jdbc2.jar
      
      OK, jdbc driver found
    • If no corresponding JDBC driver is found, you are asked to copy the JAR file of the database driver into the sge-root/dbwriter/lib directory.


      Note –

      The JDBC driver for PostgresSQL is provided with the installation. If you install the ARCo software on Oracle or MySQL, you should copy the appropriate JDBC driver into the $SGE_ROOT/dbwriter/lib directory.


      After you copy the JAR file to the correct location, press RETURN, and the search repeats.


      Error: jdbc driver org.postgresql.Driver
             not found in any jar file of directory
             /opt/n1ge6/dbwriter/lib
      
      Please copy a jdbc driver for your database into
      this directory!
      
      Press enter to continue >>
  10. Verify that the database has been set up correctly.


    Should the connection to the database be tested? (y/n) [y] >> 
    • If the test succeeds, you will be notified.


      Test db connection to 'jdbc:postgresql://my-host.my-domain:5432/arco' ... OK
    • If the test fails, you are given the option to repeat the setup procedure.


      Test db connection to 'jdbc:postgresql://my-host.my-domain:5432/arco' ... Failed
      Do you want to repeat database connection setup? (y/n) [y] >>
  11. Database model initialization or upgrade

    During the next step, the database tables are created or updated and the user arco_read is granted limited access to the database tables. The ARCo web application connects to the database using the user arco_readuser.


    Query db version ... no sge tables found
    New version of the database model is needed
    
    Should the database model be upgraded to version 1? (y/n) [y] >> 
    
    
    The ARCo web application connects to the database
    with a user which has restricted access.
    The name of this database user is needed to grant
    the user access to the sge tables.
    
    Please enter the name of this database user [arco_read] >> 
    Upgrade to database model version 1 ... Install version 6.0 (id=0) -------
    Create table sge_job
    Create index sge_job_idx0
    Create index sge_job_idx1
    create table sge_job_usage
    Create table sge_job_log
    Create table sge_job_request
    Create table sge_job_request
    Create table sge_queue
    Create index sge_queue_idx0
    Create table sge_queue_values
    Create index sge_queue_values_idx0
    Create table sge_host
    Create index sge_host_idx0
    Create table sge_host_values
    Create index sge_host_values_idx0
    Create table sge_department
    Create index sge_department_idx0
    Create table sge_department_values
    Create index sge_department_values_idx0
    Create table sge_project
    Create index sge_project_idx0
    Create table sge_project_values
    Create index sge_project_values_idx0
    Create table sge_user
    Create table sge_user_values
    Create index sge_user_values_idx0
    Create table sge_group
    Create index sge_group_idx0
    Create table sge_group_values
    Create index sge_group_values_idx0
    Create table sge_share_log
    Create view view_accounting
    Create view view_job_times
    Create view view_jobs_completed
    Create view view_job_log
    Create view view_department_values
    Create view view_group_values
    Create view_host_values
    Create view view_project_values
    Create view view_queue_values
    Create view view_user_values
    committing changes
    version 6.0 (id=0) successfully installed
    Install version 6.0u1 (id=1) -------
    Create table sge_version
    Update view view_job_times
    Update version table
    committing changes
    version 6.0u1 (id=1) successfully installed
    OK
  12. Specify how often the dbWriter program should check the N1 Grid Engine log files for new data.


    Please enter the interval between two dbwriter runs in seconds [60] >> 
  13. Specify the spool directory for the dbwriter.

    The dbwriter log files are stored in this directory. At startup the dbwriter process writes its pid in the file dbwriter.pid in this directory.


    Please enter the path of the dbwriter spool directory [$SGE_ROOT/$SGE_CELL/spool/dbwriter]>>
  14. Type the location of the file containing the rules for calculating derived values.

    Based on the accounting and reporting data, the dbWriter program calculates some derived values. The derived values are reporting information that are calculated from one or more raw values. The dbWriter program also enables you to delete data from the reporting database, when that data is not longer needed. The rules governing the derived value calculations and data deletion are stored in a file. The dbWriter program distribution contains an example file for a PostgreSQL database and an example file for an Oracle database. The example files are $SGE_ROOT/dbwriter/database/postgres/dbwriter.xml and $SGE_ROOT/dbwriter/database/oracle/dbwriter.xml

    You can accept the default file location, or you can specify a alternative path.


    Please enter the file with the derived value rules 
    [$SGE_ROOT/dbwriter/database/postgres/dbwriter.xml] >>
  15. Set the level of logging that the dbWriter program should use.


    The dbWriter can run with different debug levels
    Possible values: WARNING INFO CONFIG FINE FINER FINEST
    Please enter the debug level of the dbwriter [INFO] >> 
  16. Verify the settings.

    If you answer n, you are given the option to repeat the setup.


    All parameters are now collected
    --------------------------------
    
          SGE_ROOT=/opt/n1ge6
          SGE_CELL=default
         JAVA_HOME=/usr/java (java version "1.4.2")
            DB_URL=jdbc:postgresql://my-host.my-domain:5432/arco
           DB_USER=arco_write
          INTERVAL=60
    REPORTING_FILE=/opt/n1ge6/default/common/reporting
      DERIVED_FILE=/opt/n1ge6/dbwriter/database/postgres/dbwriter.xml
       DEBUG_LEVEL=INFO
    
    Are this settings correct? (y/n) [y] >> y
    

    The installation scripts creates a start script, sge-root/dbwriter/bin/sgedbwriter. Your configuration parameters are stored in sge-root/cell/common/dbwriter.conf. If any configuration changes are necessary, you can edit the dbwriter.conf file or repeat the installation script.


    Create configuration file for dbWriter in 
    /opt/n1ge6/default/common
  17. The installation script prompts you to choose whether to install a boot time startup script for the dbwriter:


    dbwriter startup script
    -----------------------
    
    We can install the startup script that will
    start dbwriter at machine boot (y/n) [y] >> y
    Installing startup script /etc/rc2.d/S96sgedbwriter
    Installation of dbWriter completed
  18. Start the dbWriter program.


    # /etc/init.d/sgedbwriter start
    

ProcedureHow to Install Sun Java Web Console

  1. Check whether Sun Java Web Console is already available on your system, as is usually the case for the Solaris 10 software and on newer Solaris 9 versions.

    As root, you can check using the following command:


    # smcwebserver -V 
    Version 2.2.1

    ARCo for N1 Grid Engine 6.1 software requires Sun Java Web Console 2.2.x.


    Note –

    ARCo for N1 Grid Engine 6.1 software does not support Sun Java Web Console 3.0 or later.


  2. If you need to install the console, extract the web console package under a temporary directory.


    # cd /tmp
    # umask 022
    # mkdir swc
    # cd swc
    

    Type the following command as one string, with a space between the xvf and the path to the tar file.


    # tar xvf 
    cdrom_mount_point/N1_Grid_Engine_6_1/SunWebConsole/tar/swc_sparc_2.2.1.tar
    
  3. If the user noaccess and the group noaccess do not exist in your password file or NIS passwd map, add them by typing:


    # groupadd -g 60002 noaccess
    # useradd -u 60002 -g 60002 -d /tmp -s /bin/sh -c "No Access User" noaccess
    

    Note –

    On some operating systems, using /bin/csh as the default shell might cause the installation to fail. If ARCo will not install, and you see the error message Server not started! No management applications registered, try setting the default shell as /bin/sh for noaccess.


  4. If you are running SuSE 9.0, create symbolic links for each of the /etc/rc#.d directories.


    # ln -s /etc/rc.d/rc0.d /etc/rc0.d
    # ln -s /etc/rc.d/rc1.d /etc/rc1.d
    # ln -s /etc/rc.d/rc2.d /etc/rc2.d
    
  5. Run the Sun Java Web Console setup script.


    # ./setup -n
    <....>
    Installation complete.
    
    Starting Sun(TM) Web Console Version 2.2.1...
    See /var/log/webconsole/console_debug_log for server logging information

    The web console is installed but not started until after the ARCo console installation. Once the console is installed, you can use the following commands to stop, start, or restart the console at any time:


    # /usr/sadm/bin/smcwebserver start
    # /usr/sadm/bin/smcwebserver stop
    # /usr/sadm/bin/smcwebserver restart

ProcedureHow to Install the Accounting and Reporting Console

  1. Change directory to sge-root/reporting.


    # cd sge-root/reporting
    
  2. Use the inst_reporting script to install the software.


    # ./inst_reporting
    
    Welcome to the  GE ARCo reporting module installation
    ----------------------------------------------------
    The installation will take approximately 5 minutes
    
    Hit <RETURN> to continue >> 

    The install script checks for the existence of the SGE_ROOT directory and SGE_CELL name. If you already created these parameters, the script continues.

  3. Enter the path to your Java Software Development Kit.

    Version 1.4.2 or higher is required. If your JAVA_HOME environment variable is set, the script will use that as a default value.


    Please enter the path to your Java 1.4 installation [] >> /opt/j2sdk1.4.2_06
    
  4. Specify the directory where the accounting and reporting software can store its results.

    If this directory does not exist, it will be created for you.


    Spool directory
    ---------------
    
    In the spool directory the N1 SGE reporting module will
    store all queries and results
    
    Please enter the path to the spool directory [/var/spool/arco] >> 
  5. Specify the parameters for the database connection.


    Database Setup
    --------------
    
    Enter your database type ( o = Oracle, p = PostgreSQL ) [p] >> o
    
    
    Please enter the name of your oracle db host [] >> my-host
    
    Please enter the port of your oracle db [1521] >> 
    
    Please enter the name of your oracle database [arco] >> 
  6. Specify an accounting and reporting database user.

    Do not use the same database user as you did for the dbwriter application. For security reasons, the database user for accounting and reporting should have only read permission for the database tables.


    Please enter the name of the database user [arco_read] >> 
    
    Please enter the password of the database user >> 
    Please retype the password >> 
    
    Please enter the name of the database schema [arco_write] >> 
    
    Search for the jdbc driver oracle.jdbc.driver.OracleDriver 
    in directory /opt/n1ge/reporting/WEB-INF/lib ...
    found in /opt/n1ge/reporting/WEB-INF/lib/classes12.jar
    Should the connection to the database be tested? (y/n) [y] >> y
    
    Test db connection to 'jdbc:oracle:thin:@my-system:1521:arco' ... OK
    h150

    The name of the database schema depends on your database. For a PostgresSQL database, the database schema name should be public. For Oracle, the name of the database schema should the same as the name of the user account which is used by the dbwriter (arco_write).


    Please enter the name of the database schema [arco_write] >> 
    
    Searching for the jdbc driver oracle.jdbc.driver.OracleDriver 
    
    OK, jdbc driver found
    
    Should the connection to the database be tested? (y/n) [y] >> y
    
    Test db connection to 'jdbc:oracle:thin:@my-system:1521:arco' ... OK

    Note –

    The JDBC driver should be also located in $SGE_ROOT/reporting/WEB-INF/lib directory.


  7. Enter the login names of users who are allowed to store the queries and results.


    Configure users with write access
    
    Users: sge-admin
    Enter a login name of a user (Press enter to finish) >> user2
    Users: sge-admin user2
    Enter a login name of a user (Press enter to finish) >> 
    ---------------------------------

    Note –

    After installation, you can add or delete authorized users by editing the config.xml file. See the information at the end of this chapter.


  8. Verify the information.


    All parameters are now collected
    --------------------------------
           SPOOL_DIR=/var/spool/arco
              DB_URL=jdbc:oracle:thin://my-system:1521/arco
             DB_USER=arco_read
    ARCO_WRITE_USERS=user1 user2
    
    Are this settings correct? (y/n) [y] >> y
    
    Shutting down Sun(TM) Web Console Version 2.2.1...
  9. If a previous version of ARCo is installed, you will be asked to remove it:


    GE reporting module already registered at Java Web Console
    ----------------------------------------------------------
    
    The GE reporting modules can only be installed
    if no previous version is registered.
    
    Should the GE reporting module com.sun.grid.arco_6.0-Maintrunc be unregistered? (y/n) [n] >> y
  10. Install pre-defined queries.

    If the query directory already does not exist, it will be created. The example queries will be installed in sge-root/reporting/database/example_queries/queries. Existing queries will not be replaced.


    Directory /var/spool/arco does not exist, create it? (y/n) [y] >> y
    
    Create directory /var/spool/arco
    Create directory /var/spool/arco/queries
    Copy examples queries into /var/spool/arco/queries
    Copy query Accounting_per_Department.xml ... OK
    Copy query Accounting_per_Project.xml ... OK
    Copy query Accounting_per_User.xml ... OK
    Copy query Average_Job_Turnaround_Time.xml ... OK
    Copy query Average_Job_Wait_Time.xml ... OK
    Copy query DBWriter_Performance.xml ... OK
    Copy query Host_Load.xml ... OK
    Copy query Job_Log.xml ... OK
    Copy query Number_of_Jobs_completed.xml ... OK
    Copy query Queue_Consumables.xml ... OK
    Copy query Statistic_History.xml ... OK
    Copy query Statistics.xml ... OK
    Create directory /var/spool/arco/results
  11. Confirm that reporting module is set up.


    ARCo reporting module setup
    ---------------------------
    Copying ARCo reporting file into /opt/n1ge6/default/arco/reporting
    
    Setting up ARCo reporting configuration file. After registration of
    the ARCo reporting module at the Java Web Console you can find
    this file at
    
          /var/opt/webconsole/webapps/reporting/config.xml
    
    
    Hit <RETURN> to continue >>
  12. Confirm that reporting module is registered to the web console and the console starts.


    Registering the GE reporting module in the Java Web Console
    -----------------------------------------------------------
    
        Registering com.sun.grid.arco_6.0-Maintrunc.
    
    
    Hit <RETURN> to continue >>
    
    Java Web Console startup
    ------------------------
    
    Starting Java Web Console ... OK
    
    Hit <RETURN> to continue >>
    
    GE ARCo reporting successfully installed
  13. Check the log file for error or warning messages.


    # more /var/log/webconsole/console_debug_log
    

    The accounting and reporting logs are written to the /var/log/webconsole/console_debug_log file. The default log level is INFO, but you can modify the log level from the command line:


    # smreg add -p -e arco_logging_level=FINE
    

    The new log takes effect the next time the console is started or restarted. The possible log levels are WARNING, INFO, FINE, FINER, and FINEST.

  14. Connect to the Sun Java Web Console by accessing the following URL in your browser. Replace hostname with the name of your master host.


    https://hostname:6789
  15. Login with your UNIX account.

  16. Select N1 Grid Engine 6 Accounting and Reporting Console.

ProcedureHow to Add Authorized ARCo Users

During the installation of the ARCo reporting module, you are asked to enter a list of users who should have write permissions to the ARCo system. Only those users are allowed save modifications on ARCo.

  1. Add users to the appropriate file.

    Depending on the web console version you are using, the list of authorized users is stored in /var/opt/webconsole/webapps/reporting/config.xml or /usr/share/webconsole/webapps/reporting/config.xml.

  2. After editing this file, restart the Sun Java Web Console:


    # smcwebserver restart