You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: YARN.md
+71-18
Original file line number
Diff line number
Diff line change
@@ -32,37 +32,48 @@ YarnNodes: 1 (connected to 0)
32
32
YarnNode: /default-rack/tanlt:36080 running, Used mem: 0/8192, cores: 0/8
33
33
````
34
34
35
-
### YarnAppMaster
35
+
### Yarn Applications (The YarnAppMaster)
36
36
37
-
Elly supports only unmanaged application masters. A `YarnAppMaster` can be constructed by providing the address of the Yarn Scheduler and a
38
-
`UserGroupInformation` object. It is then registered with Yarn using the `submit` API to get an application as a `YarnApp` instance.
37
+
An ApplicationMaster, in Yarn terminology, is the part of an application that negotiates resources from the Yarn ResourceManager and works
38
+
with the Yarn NodeManager to execute and monitor the granted resources (bundled as containers) for a given application. Application masters
39
+
can either be:
40
+
41
+
- Managed: managed by Yarn and run inside the cluster, resources are allocated inside the Yarn cluster and Yarn instantiates the process
42
+
- Unmanaged: not managed by Yarn and run outside the cluster, it is the application writers responsibility to ensure that it has the resources it needs and is kept running throughout the course of the application
43
+
44
+
Elly supports both managed and unmanaged application masters.
45
+
46
+
#### Unmanaged YarnAppMaster
47
+
48
+
An unmanaged `YarnAppMaster` can be constructed by providing the address of the Yarn Scheduler and a
49
+
`UserGroupInformation` object. It needs to be then registered with Yarn using the `submit` API to get an application as a `YarnApp` instance.
Once submitted, the submitting process can exit, leaving the application master running inside the cluster. It can also monitor the application if so desired.
137
+
138
+
```julia
139
+
@info("status", status(app))
140
+
```
141
+
142
+
And wait for application to reach a certain state.
The Yarn master process thus submitted can create an instance of `YarnAppMaster` and use it to manage itself and also allocate and launch more containers into the cluster.
149
+
150
+
151
+
For example, the `/application/masterprocess.jl` script launched above, can instantiate a `YarnAppMaster` and register itself.
152
+
153
+
```
154
+
ugi = UserGroupInformation()
155
+
am = YarnAppMaster(ugi)
156
+
register(am)
157
+
```
158
+
159
+
And then it can proceed to allocate and execute more containers exactly as how we did with the unmanaged `YarnAppMaster`.
Copy file name to clipboardexpand all lines: YARNCM.md
+28-5
Original file line number
Diff line number
Diff line change
@@ -2,22 +2,35 @@
2
2
3
3
`YarnManager` provides a Julia [ClusterManager](http://docs.julialang.org/en/latest/manual/parallel-computing/#clustermanagers) interface for
4
4
working with Yarn. It does not have the full functionality of the direct Yarn APIs, but it provides the familiar `addprocs`, `rmprocs` methods
5
-
for starting and stopping containers.
5
+
for starting and stopping containers.
6
+
7
+
`YarnManager` works in both managed mode (both master and workers launched inside the cluster) and unmanaged mode (only workers launched inside the cluster). See section on ["Yarn Applications using Elly"](YARN.md) for details.
6
8
7
9
It can be also used to get a distributed Julia shell in the Yarn cluster.
8
10
9
11
The below example walks through a simple example using a Julia on a Yarn cluster.
10
12
You can find the YARN manager parameters in the `$HADOOP_CONFIG_DIR/yarn-site.xml` file
0 commit comments