[ 
https://issues.apache.org/jira/browse/YARN-7129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16756339#comment-16756339
 ] 

Billie Rinaldi commented on YARN-7129:
--------------------------------------

Thanks for working on this, [~eyang]. The catalog looks like a promising 
feature. I have started reviewing patch 18. Here is a first round of comments:
 - Service catalog might be a better name, since the catalog handles YARN 
services and not arbitrary applications. In that case I’d suggest moving the 
module to 
hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-catalog.
 - NOTICE says “binary distribution of this product bundles binaries of ___” 
but it should be “source distribution bundles ___.” Also, this information 
should go in LICENSE instead of NOTICE for non-ASLv2 permissive licenses (see 
[http://www.apache.org/dev/licensing-howto.html#permissive-deps]). It would be 
helpful to include the path(s) to the dependencies, so it’s easier to tell when 
included source code has proper handling in LICENSE and NOTICE and when it 
doesn’t. I have not checked whether all the external code added in this patch 
has been included properly in L&N yet.
 - There are files named bootstrap-hwx.js and bootstrap-hwx.min.js.
 - 8080 is a difficult port. If you ran the catalog on an Ambari-installed 
cluster, it would fail if it came up on the Ambari server host. Does the app 
catalog need to have net=host? If not, the port wouldn’t be a problem.
 - I don’t think we should set net=host for the examples, because that setting 
is not recommended for most containers. Also, for the services using 8080, they 
could run into conflicts when net=host.
 - I think it would be better to have fewer examples in samples.xml and make 
sure that they all work (the pcjs image doesn’t exist on dockerhub, and we 
might not want to seem to be “endorsing” all the example images that are 
currently included). Maybe just include httpd and Jenkins? Registry would also 
be a reasonable candidate, but it didn’t work when I tried it with insecure 
limit users mode (it failed to make a dir when pushing an image to it; maybe 
would work as a privileged container with image name library/registry:latest).
 - entrypoint.sh needs modifications to make insecure mode possible (maybe 
checking for empty KEYTAB variable would be sufficient, since -e returns true 
for an empty variable).
 - Need better defaults for memory requests. When I tested, the catalog and 
Jenkins containers were killed due to OOM. 2048 for the catalog and 1024 for 
Jenkins worked for me.
 - I had to set JAVA_HOME in the catalog service json because the container and 
host didn’t have the same JAVA_HOME.
 - It would be good to include the service json needed to launch the catalog. 
We’d need to make the catalog Docker image version a variable for maven to fill 
in during the build process. Maybe the catalog could be one of the service 
examples, like sleeper and httpd.
 - Downloading from archive.apache.org is discouraged. Is there anything else 
we can do instead for the solr download?
 - Applications launched by the catalog are run as the root user (presumably 
because the catalog is a privileged container); at least that’s what is 
happening in insecure mode. The catalog should have user auth and launch the 
apps as the end user. I see there are already tickets open to address this 
issue.
 - We need to work out persistent storage for some of these services (including 
the catalog), or users will get a bad surprise when services or individual 
containers are restarted.
 - Restart doesn’t seem to work. Looks like it is issuing a start, so maybe 
should be named start instead. Restart implies stopping + starting.
 - Could we use AppAdminClient/ApiServiceClient instead of copying the 
getApiClient methods from ApiServiceClient to make the REST calls?
 - After deploying a service, it drops to the bottom of the list on the main 
catalog page. Is that intentional?
 - If you click on a UI link too early, it brings up a URL such as 
{{jenkins.${service_name}.${user}.${domain}:8080}}. It would be better to 
disallow clicking on the link until the variables are populated, if possible.

> Application Catalog for YARN applications
> -----------------------------------------
>
>                 Key: YARN-7129
>                 URL: https://issues.apache.org/jira/browse/YARN-7129
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: applications
>            Reporter: Eric Yang
>            Assignee: Eric Yang
>            Priority: Major
>         Attachments: YARN Appstore.pdf, YARN-7129.001.patch, 
> YARN-7129.002.patch, YARN-7129.003.patch, YARN-7129.004.patch, 
> YARN-7129.005.patch, YARN-7129.006.patch, YARN-7129.007.patch, 
> YARN-7129.008.patch, YARN-7129.009.patch, YARN-7129.010.patch, 
> YARN-7129.011.patch, YARN-7129.012.patch, YARN-7129.013.patch, 
> YARN-7129.014.patch, YARN-7129.015.patch, YARN-7129.016.patch, 
> YARN-7129.017.patch, YARN-7129.018.patch
>
>
> YARN native services provides web services API to improve usability of 
> application deployment on Hadoop using collection of docker images.  It would 
> be nice to have an application catalog system which provides an editorial and 
> search interface for YARN applications.  This improves usability of YARN for 
> manage the life cycle of applications.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to