This specifically pertains to the "Cluster Applications API(Submit Application)" documentation
This line - “Please note that in order to submit an app, you must have an authentication filter setup for the HTTP interface. The functionality requires that a username is set in the HttpServletRequest. If no filter is setup, the response will be an “UNAUTHORIZED” response.” is NOT very helpful in conveying to the user what needs to happen on the client side or on the REST API side.
1. "Authentication filter setup for the HTTP interface" -
- Now does this mean that one needs Kerberos enabled on the cluster?
- If not, what kind of HTTP authentication filter needs to be setup on the httpd or on the client side? A few wikipedia or other links to do this would go long way in increasing adoption of the RM REST API.
2. "The functionality requires that a username is set in the HttpServletRequest" -
- HttpServletRequest is a Java class - does the REST API mandate integrations use Java?
- If not what would be an equivalent of that in normal HTTP REST Parlance? This will help people understand what to do when using Python etc.
I frustrated myself with this documentation over the last few days and very many "tutorials" that claim to make it work on production clusters and finally reached this conclusion that - if this documentation can be improved, it would save everyone a LOT of time and effort.
I am happy to help fix this - I have no experience contributing to apache projects and may make mistakes but I am willing to learn. I would need answers to the above questions to be able to do anything with this. I still have not figured out how to run the job without hdfs complaining about user permissions. Which I am guessing are related.