blob: 0ad95b5a675f259bacdba09927d5aac692d03729 [file] [log] [blame]
Ian Maxon137fc3b2015-06-30 16:23:48 -07001~~Copyright 2009-2013 by The Regents of the University of California
2~~Licensed under the Apache License, Version 2.0 (the "License");
3~~you may not use this file except in compliance with the License.
4~~you may obtain a copy of the License from
5~~
6~~ http://www.apache.org/licenses/LICENSE-2.0
7~~
8~~Unless required by applicable law or agreed to in writing, software
9~~distributed under the License is distributed on an "AS IS" BASIS,
10~~WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11~~See the License for the specific language governing permissions and
12~~limitations under the License.
13
vinayakb0c860392012-10-06 18:47:20 +000014Hyracks Applications
15
16 The Hyracks platform provides users the ability to execute jobs on a cluster. Jobs in Hyracks are expressed as a DAG of Operators and Connectors. Prior to being able to execute jobs on a Hyracks cluster, the code that implements the operators and connectors used in the jobs must be installed on the nodes of the cluster. The unit of deployment of code onto the cluster is called an application. Once an application containing the required code is created, multiple jobs can be executed against it until it is destroyed. A Hyracks cluster can have multiple applications installed simultaneously.
17
18* Hyracks Application Archive
19
20 A Hyracks application must be packaged into a Hyracks Application Archive (HAR) file before it can be installed on a Hyracks Cluster. A HAR file is a Zip file that contains all the code that will be executed on the cluster when jobs are issued and any deployment descriptors (discussed below) that are necessary to set up the application correctly.
21
22* HAR File Contents
23
24 A HAR file is a zip file that contains one or more JAR files. The JAR files are appened to the classpath of the application.
25
26* Hyracks Application Startup and Shutdown
27
Ian Maxone915e8c2015-07-01 17:03:31 -070028 Hyracks provides applications to run code at startup and shutdown. An application can provide the code to be executed at the ClusterController by providing an implementation of the org.apache.hyracks.api.application.ICCBootstrap interface. Similarly, the code to be executed at the NodeControllers can be specified by providing and implementation of the org.apache.hyracks.api.application.INCBootstrap interface. The bootstrap classes implementations of the above interfaces are specified in a deployment descriptor file.
vinayakb0c860392012-10-06 18:47:20 +000029
30* Hyracks deployment descriptor
31
32 A Hyracks deployment descriptor is a file called hyracks-deployment.properties. This file is made available to Hyracks in the application classpath by packaging it in a JAR file inside the Hyracks Application Archive.
33
34 The Hyracks deployment descriptor currently allows two properties.
35
36 * cc.bootstrap.class: Name of the Bootstrap class to be executed at the Cluster Controller.
37
38 * nc.bootstrap.class: Name of the Bootstrap class to be executed at the Node Controller.
39
40