blob: 4ec5cfd45bf3cabb39a7d3ed110de4ea288e4162 [file] [log] [blame] [view]
<!---
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->
# Slider: Dynamic YARN Applications
Slider is a YARN application to deploy existing distributed applications on YARN,
monitor them and make them larger or smaller as desired -even while
the application is running.
Applications can be stopped, "frozen" and restarted, "thawed" later; the distribution
of the deployed application across the YARN cluster is persisted -enabling
a best-effort placement close to the previous locations on a cluster thaw.
Applications which remember the previous placement of data (such as HBase)
can exhibit fast start-up times from this feature.
YARN itself monitors the health of 'YARN containers" hosting parts of
the deployed application -it notifies the Slider manager application of container
failure. Slider then asks YARN for a new container, into which Slider deploys
a replacement for the failed component. As a result, Slider can keep the
size of managed applications consistent with the specified configuration, even
in the face of failures of servers in the cluster -as well as parts of the
application itself
Some of the features are:
* Allows users to create on-demand applications in a YARN cluster
* Allow different users/applications to run different versions of the application.
* Allow users to configure different application instances differently
* Stop / Suspend / Resume application instances as needed
* Expand / shrink application instances as needed
The Slider tool is a Java command line application.
The tool persists the information as JSON documents in HDFS.
Once the cluster has been started, the cluster can be made to grow or shrink
using the Slider commands. The cluster can also be stopped, *frozen*
and later resumed, *thawed*.
Slider implements all its functionality through YARN APIs and the existing
application shell scripts. The goal of the application was to have minimal
code changes and as of this writing, it has required few changes.
## Using
* [Getting Started](getting_started.html)
* [Man Page](manpage.html)
* [Examples](examples.html)
* [Client Configuration](client-configuration.html)
* [Client Exit Codes](exitcodes.html)
* [Security](security.html)
* [Logging](logging.html)
* [How to define a new slider-packaged application](slider_specs/index.html)
* [Application configuration model](configuration/index.html)
## Developing
* [Architecture](architecture/index.html)
* [Developing](developing/index.html)
* [Application Needs](app_needs.html)
* [Service Registry](registry/index.html)