Getting Started: Difference between revisions
No edit summary |
|||
| Line 80: | Line 80: | ||
== Standalone Scheduler == | == Standalone Scheduler == | ||
To deploy and run the ''standalone'' scheduler, invoke the main starter method: | To deploy and run the ''standalone'' scheduler, use the provided ant file (target run.obsidian) or in your preferred means invoke the main starter method: | ||
<pre> | <pre> | ||
Revision as of 04:56, 27 February 2011
This guide covers your initial installation and setup of Obsidian Scheduler.
You should have already downloaded Obsidian Scheduler and received your licence key. If you have not done so, see Downloads.
Quick Start
If you wish to evaluate or quickly check out Obsidian , here are the steps you need to follow.
- Create database for use by Obsidian (MySQL 5 or PosgreSQL 9). If a database already exists that you wish to share, you may skip this step, though you may wish to consult Obsidian Tables before proceeding.
- Use the provided ant installer file to configure. Run ant install.props and follow the instructions.
- Deploy the admin/scheduler war to your chosen servlet container (Tomcat or Jetty).
- Log in to the admin web application with the user and password provided to you when you received your licence key.
Supported Platforms
- Obsidian is OS-independent.
- Obsidian runs on Java 1.6 or above.
- Obsidian is fully tested on MySQL 5 and PostgreSQL 9. Larger major versions are likely to work but are not supported.
- Obsidian's administration web application is tested on Tomcat 5.5 and Jetty 7, but should work in any compliant servlet container version 2.4 or up.
Note: Scheduler instances must have access to contact licence servers over the Internet, or access to an internal proxy licence server that you may set up. See Licences & Nodes for more information.
Choose Your Installation Type
If you skipped the Quick Start section or wish more control over your installation, the following sections will detail your choices and steps to configure and deploy Obsidian.
Obsidian consists of two main processes:
- Scheduler
- Admin Web Application
These can be run together or in separate processes in the following configurations:
- Standalone Scheduler
- Embedded Scheduler (within your application)
- Standalone Admin Web Application
- Combined Scheduler and Admin Web Application
Choosing which option works for you depends on your specific needs. The setups which are suitable for most cases would be:
- using an embedded scheduler (option 2) along with a standalone admin webapp (option 3)
- using a combined scheduler and admin web app (option 4)
You may wish to use multiple configurations together. For example, you may combine standalone schedulers along with a combined scheduler and web application.
Note: A key server proxy package also exists and you may choose to deploy it within a servlet container like Jetty or Tomcat. See Key Server Proxy for details on key server proxies.
Initial Setup
This section covers the setup required after you've selected your deployment setup.
Database
Obsidian relies on a database which should be configured before attempting to deploy your scheduler processes.
Currently Obsidian supports MySQL 5 and PostgreSQL 9.
To configure which database to use, you can simply use the provided installer ant file to setup the configuration that is stored in com.carfey.properties. To review a detailed breakdown of the resulting configuration, see Advanced Configuration.
Note that the database must exist before deployment, but Obsidian will automatically perform initial setup including table creation. When you first deploy your scheduler web app, either standalone admin or embedded scheduler, it will perform all necessarily initialization.
Note: Obsidian needs to create the tables in the target database. If the schema is shared with your application’s tables, please ensure there are no name conflicts. If there are conflicts, separate schemas/databases can be used. See the Obsidian Tables that are created upon first deployment.
Authentication
The Obsidian admin web application supports both native users and LDAP-enabled authentication.
By default, it is configured to use native login, and a default “admin” user is created when the scheduler is first deployed. Users can then be created and managed from within the admin management console.
To use LDAP-based authentication, following the instructions provided in the installer ant file. To review a detailed breakdown of the resulting configuration, see Advanced Configuration.
Deployment
You are now ready to deploy your scheduler and admin web application.
Important: To run a scheduler with your custom code and jobs, you simply need to ensure the scheduler process classpath includes your jars. This applies to all the deployment options listed below.
Standalone Scheduler
To deploy and run the standalone scheduler, use the provided ant file (target run.obsidian) or in your preferred means invoke the main starter method:
java com.carfey.ops.job.SchedulerStarter start <listenerPort>
Listener port is a port number used by Obsidian to subsequently issue a shut down:
java com.carfey.ops.job.SchedulerStarter stop <listenerPort>
Startup and Shutdown example:
java com.carfey.ops.job.SchedulerStarter start 10451 java com.carfey.ops.job.SchedulerStarter stop 10451
Embedded Scheduler
To deploy and run the embedded scheduler, use the class scheduler starter to initialize and shut down the scheduler processes:
// will start scheduler on first call to get() com.carfey.ops.job.SchedulerStarter starter = com.carfey.ops.job.SchedulerStarter.get(com.carfey.ops.job.SchedulerStarter.SchedulerMode.JVM); // ... // later, we can gracefully shut down the scheduler starter.shutDown();
Combined Scheduler and Admin Web Application
To deploy and run the combined scheduler and admin web application, simply deploy the war to your servlet container (Jetty or Tomcat). You may also need to package your custom jars in with the war so the scheduler can run your custom jobs.
Standalone Admin Web Application
As with the combined scheduler and admin web application, to deploy the standalone admin web application, simply deploy the standalone admin war to your servlet container.
Dependent Libraries
Obsidian Scheduler requires a number of third party libraries, both for the web administration application and the scheduler itself. Below is information on these libraries and how they are used. Unless otherwise noted, they are mandatory.
- activation-1.1.jar, mail-1.4.jar, smtp.jar. Used for email notifications.
- carfey-date-1.1.jar. Date math/manipulation.
- dom4j-1.6.1.jar. XML utilities.
- obsidian-gen.jar, obsidian.jar, jdk-gen.jar, jdk.jar, suite-gen.jar, suite.jar. Core Obsidian libs.
- log4j-1.2.9.jar. Obsidian logging uses log4j.
- cos.jar, gson-1.5.jar, jstl.jar, standard.jar. Web utilities. Only required in web administration.
- bsh-2.0b4.jar. Support for our Bean Shell script execution. (http://www.beanshell.org). Only required for BeanShellJob usage.
- groovy-all-1.7.6.jar. Support for Groovy script execution (http://groovy.codehaus.org). Only required for GroovyJob usage.
- jython.jar. Support for Python script execution (http://www.jython.org). Only required for PythonJob usage.
- jtds-1.2.jar. SQLServer jdbc driver. Only required for running SQLServer.
- mysql-connector-java-5.1.6-bin.jar. MySQL jdbc driver. Only required for running MySQL.
- ojdbc14.jar. Oracle jdbc driver. Only required for running Oracle.
- postgresql-9.0-801.jdbc4.jar. PostgreSQL jdbc driver. Only required for running PostgreSQL.
You’re Good to Go!
You are now fully set up and ready to go!
If you are an admin user, you can log into the admin web application and customize your installation settings using the Systems tab. This has advanced options that allow you to customize scheduler and administration settings.
See the User Guide if you have questions or wish to explore what Obsidian offers.