Skip to content

Commit 2576401

Browse files
committed
YARN-7129. Application Catalog for YARN applications. Contributed by Eric Yang
1 parent 686c014 commit 2576401

File tree

82 files changed

+15702
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+15702
-3
lines changed

hadoop-project/pom.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,19 @@
465465
<type>test-jar</type>
466466
</dependency>
467467

468+
<dependency>
469+
<groupId>org.apache.hadoop</groupId>
470+
<artifactId>hadoop-yarn-services-api</artifactId>
471+
<version>${hadoop.version}</version>
472+
</dependency>
473+
474+
<dependency>
475+
<groupId>org.apache.hadoop</groupId>
476+
<artifactId>hadoop-yarn-applications-catalog-webapp</artifactId>
477+
<version>${hadoop.version}</version>
478+
<type>war</type>
479+
</dependency>
480+
468481
<dependency>
469482
<groupId>org.apache.hadoop</groupId>
470483
<artifactId>hadoop-mapreduce-client-jobclient</artifactId>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one or more
3+
contributor license agreements. See the NOTICE file distributed with
4+
this work for additional information regarding copyright ownership.
5+
The ASF licenses this file to You under the Apache License, Version 2.0
6+
(the "License"); you may not use this file except in compliance with
7+
the License. You may obtain a copy of the License at
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
Unless required by applicable law or agreed to in writing, software
10+
distributed under the License is distributed on an "AS IS" BASIS,
11+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
See the License for the specific language governing permissions and
13+
limitations under the License.
14+
-->
15+
# Apache Hadoop YARN Application Catalog
16+
17+
## Introduction
18+
19+
YARN Application Catalog is application catalog for
20+
deploying docker enabled cloud application on Hadoop.
21+
22+
check it out:
23+
24+
```bash
25+
git clone https://github.com/apache/hadoop.git
26+
```
27+
28+
## Prerequisites
29+
* Firefox or Chrome
30+
* [npm](https://www.npmjs.org)
31+
* [nodejs](http://nodejs.org)
32+
* [JDK](http://www.oracle.com/technetwork/java/javaee/downloads/index.html)
33+
* [IDE](http://www.jetbrains.com/)
34+
* [bower](http://bower.io)
35+
* [PhantomJs](http://phantomjs.org) or `brew install phantomjs`
36+
* [Docker](http://docker.io)
37+
38+
## Installation
39+
40+
```bash
41+
mvn package
42+
```
43+
44+
When running this command a couple of things happen:
45+
* YARN Application Catalog web application is built
46+
* YARN Application Docker image is built
47+
48+
## Status of the project
49+
50+
See Apache [JIRA](http://issues.apache.org/jira/browse/HADOOP)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
FROM centos:7
18+
19+
RUN yum -y install tomcat lsof krb5-workstation sssd-client curl
20+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
21+
RUN mkdir -p /opt/apache/solr && \
22+
curl -SL http://archive.apache.org/dist/lucene/solr/6.6.0/solr-6.6.0.tgz | \
23+
tar -xzC /opt/apache/solr --strip 1
24+
COPY src/main/scripts/setup-image.sh /setup-image.sh
25+
COPY src/main/resources/samples.xml /tmp/samples.xml
26+
COPY src/main/resources/jaas.config /etc/tomcat/jaas.config.template
27+
COPY src/main/scripts/entrypoint.sh /usr/bin/entrypoint.sh
28+
COPY target/ROOT.war /var/lib/tomcat/webapps/ROOT.war
29+
RUN chmod 755 /setup-image.sh
30+
RUN chmod 755 /usr/bin/entrypoint.sh
31+
RUN /setup-image.sh
32+
33+
EXPOSE 8080
34+
EXPOSE 8983
35+
WORKDIR /
36+
37+
ENTRYPOINT ["/usr/bin/entrypoint.sh" ]
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!---
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 at
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. See accompanying LICENSE file.
13+
-->
14+
# Apache Hadoop YARN AppCatalog Docker Image
15+
16+
## Introduction
17+
18+
AppCatalog Docker image is pre-packaged docker container for Hadoop Application Catalog.
19+
20+
check it out:
21+
22+
```
23+
git clone https://github.com/apache/hadoop.git
24+
```
25+
26+
## Compile
27+
28+
```
29+
mvn package
30+
```
31+
32+
## Run
33+
34+
```
35+
docker run -d -p 8080:8080 -p 8983:8983 hadoop/appcatalog-docker:1.0-SNAPSHOT
36+
```
37+
38+
When running this command a couple of things happens:
39+
* Solr server will create appcatalog collection for hosting application catalog
40+
* Sample applications are registered in Embedded Solr
41+
* Tomcat will run appcatalog-webapp on port 8080
42+
43+
User can browse port 8080 to deploy application on a Hadoop cluster.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Licensed to the Apache Software Foundation (ASF) under one or more
4+
contributor license agreements. See the NOTICE file distributed with
5+
this work for additional information regarding copyright ownership.
6+
The ASF licenses this file to You under the Apache License, Version 2.0
7+
(the "License"); you may not use this file except in compliance with
8+
the License. You may obtain a copy of the License at
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
17+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
18+
<modelVersion>4.0.0</modelVersion>
19+
<groupId>org.apache.hadoop</groupId>
20+
<artifactId>hadoop-yarn-applications-catalog-docker</artifactId>
21+
<packaging>pom</packaging>
22+
23+
<parent>
24+
<artifactId>hadoop-yarn-applications-catalog</artifactId>
25+
<groupId>org.apache.hadoop</groupId>
26+
<version>3.3.0-SNAPSHOT</version>
27+
</parent>
28+
29+
<name>YARN Application Catalog Docker Image</name>
30+
<url>http://maven.apache.org</url>
31+
<dependencies>
32+
<dependency>
33+
<groupId>org.apache.hadoop</groupId>
34+
<artifactId>hadoop-yarn-applications-catalog-webapp</artifactId>
35+
<version>${project.version}</version>
36+
<type>war</type>
37+
</dependency>
38+
</dependencies>
39+
<build>
40+
<plugins>
41+
<plugin>
42+
<groupId>org.apache.rat</groupId>
43+
<artifactId>apache-rat-plugin</artifactId>
44+
<configuration>
45+
<excludes>
46+
<exclude>src/main/resources/jaas.config</exclude>
47+
</excludes>
48+
</configuration>
49+
</plugin>
50+
</plugins>
51+
</build>
52+
53+
<profiles>
54+
<profile>
55+
<activation>
56+
<file>
57+
<exists>/var/run/docker.sock</exists>
58+
</file>
59+
</activation>
60+
<id>application-catalog-docker-image</id>
61+
<build>
62+
<plugins>
63+
<plugin>
64+
<groupId>org.apache.maven.plugins</groupId>
65+
<artifactId>maven-dependency-plugin</artifactId>
66+
<version>3.0.1</version>
67+
<executions>
68+
<execution>
69+
<id>copy-dependencies</id>
70+
<phase>package</phase>
71+
<goals>
72+
<goal>copy</goal>
73+
</goals>
74+
<configuration>
75+
<artifactItems>
76+
<artifactItem>
77+
<groupId>org.apache.hadoop</groupId>
78+
<artifactId>hadoop-yarn-applications-catalog-webapp</artifactId>
79+
<version>${project.version}</version>
80+
<destFileName>ROOT.war</destFileName>
81+
<type>war</type>
82+
</artifactItem>
83+
</artifactItems>
84+
<outputDirectory>${project.build.directory}</outputDirectory>
85+
<overWriteReleases>false</overWriteReleases>
86+
<overWriteSnapshots>true</overWriteSnapshots>
87+
<excludeTransitive>true</excludeTransitive>
88+
</configuration>
89+
</execution>
90+
</executions>
91+
</plugin>
92+
<plugin>
93+
<groupId>com.spotify</groupId>
94+
<artifactId>dockerfile-maven-plugin</artifactId>
95+
<version>1.3.4</version>
96+
<executions>
97+
<execution>
98+
<id>default</id>
99+
<goals>
100+
<goal>build</goal>
101+
</goals>
102+
</execution>
103+
</executions>
104+
<configuration>
105+
<repository>apache/hadoop-yarn-applications-catalog-docker</repository>
106+
<tag>${project.version}</tag>
107+
</configuration>
108+
</plugin>
109+
</plugins>
110+
</build>
111+
</profile>
112+
</profiles>
113+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
com.sun.security.jgss.krb5.initiate {
2+
com.sun.security.auth.module.Krb5LoginModule required
3+
doNotPrompt=true
4+
principal="${PRINCIPAL}"
5+
useKeyTab=true
6+
keyTab="${KEYTAB}"
7+
storeKey=true
8+
useTicketCache=false;
9+
};

0 commit comments

Comments
 (0)