Yes you are right. If it is true by default we probably want to update the documentation for the web services to indicate this. Could you file a JIRA for improving that documentation?
Thanks, Bobby On 7/27/12 3:11 AM, "Prajakta Kalmegh" <pkalm...@gmail.com> wrote: >:) Yes, you are right. The yarn.acl.enable property in yarn-default.xml is >set true. If the property is true by default, then this makes it mandatory >for users to either specify a value for hadoop.http.staticuser.user >property explicitly or to change the acl's to false. Am I right to assume >this? > >Regards, >Prajakta > > > >On Thu, Jul 26, 2012 at 11:59 PM, Robert Evans <ev...@yahoo-inc.com> >wrote: > >> OK I think I understand it now. You probably have ACLs enabled, but no >> web filter on the RM to let you sign in as a given user. As such the >> default filter is making you be Dr. Who, or whomever else it is, but the >> ACL check in the web service is rejecting Dr Who, because that is not >>the >> correct user. You will probably run into this issue again if anyone >>else >> but you runs something. You could fix this by either disabling the ACL >> check, which makes a lot of since for a cluster without security, or you >> could implement a servlet Filter for the RM that would let you sign on >>as >> a given user. >> >> --Bobby Evans >> >> >> On 7/26/12 12:48 AM, "Prajakta Kalmegh" <pkalm...@gmail.com> wrote: >> >> >Hi Bobby >> > >> >Thanks for the reply. My REST calls are working fine since I set the >> >'hadoop.http.staticuser.user' property to 'prajakta' instead of Dr.Who >>in >> >core-site.xml . I didn't get time to figure out the reason behind it >>as I >> >just moved on to further coding :) >> > >> >Thanks, >> >Prajakta >> > >> > >> > >> >On Thu, Jul 26, 2012 at 1:40 AM, Robert Evans <ev...@yahoo-inc.com> >> wrote: >> > >> >> Hmm, that is very odd. It only checks the user if security is >>enabled >> >>to >> >> warn the user about potentially accessing something unsafe. I am not >> >>sure >> >> why that would cause an issue. >> >> >> >> --Bobby Evans >> >> >> >> On 7/9/12 6:07 AM, "Prajakta Kalmegh" <pkalm...@gmail.com> wrote: >> >> >> >> >Hi Robert >> >> > >> >> >I figured out the problem just now. To avoid the below error, I had >>to >> >>set >> >> >the 'hadoop.http.staticuser.user' property in core-site.xml >>(defaults >> >>to >> >> >dr.who). I can now get runtime data from AppMaster using *curl* as >> >>well as >> >> >in GUI. >> >> > >> >> >I wonder if we have to set this property even when we are not >> >>specifying >> >> >the yarn web-proxy address (when it runs as part of RM by default) >>as >> >> >well. >> >> >If yes, was it documented somewhere which I failed to see? :( >> >> > >> >> >Anyways, thanks for your response so far. >> >> > >> >> >Regards, >> >> >Prajakta >> >> > >> >> > >> >> > >> >> >On Mon, Jul 9, 2012 at 3:29 PM, Prajakta Kalmegh >><pkalm...@gmail.com> >> >> >wrote: >> >> > >> >> >> Hi Robert >> >> >> >> >> >> I started the proxyserver explicitly by specifying a value for the >> >> >> yarn.web-proxy.address in yarn-site.xml. The proxyserver did start >> >>and I >> >> >> tried getting the JSON response using the following command : >> >> >> >> >> >> curl --compressed -H "Accept: application/json" -X GET " >> >> >> >> >> >> >> >> >> >> >> >>http://localhost:8090/proxy/application_1341823967331_0001/ws/v1/mapreduc >> >> >>e/jobs/job_1341823967331_0001 >> >> >> " >> >> >> >> >> >> However, it refused connection and below is the excerpt from the >> >> >> Proxyserver logs: >> >> >> --------- >> >> >> 2012-07-09 14:26:40,402 INFO org.mortbay.log: Extract >> >> >> >> >> >> >>>>>>jar:file:/home/prajakta/Projects/IRL/hadoop-common/hadoop-dist/target >>>>>>/h >> >>>>ad >> >> >> >>>>>>oop-3.0.0-SNAPSHOT/share/hadoop/mapreduce/hadoop-yarn-common-3.0.0-SN >>>>>>AP >> >>>>SH >> >> >>OT.jar!/webapps/proxy >> >> >> to /tmp/Jetty_localhost_8090_proxy____.ak3o30/webapp >> >> >> 2012-07-09 14:26:40,992 INFO org.mortbay.log: Started >> >> >> SelectChannelConnector@localhost:8090 >> >> >> 2012-07-09 14:26:40,993 INFO >> >> >> org.apache.hadoop.yarn.service.AbstractService: >> >> >> Service:org.apache.hadoop.yarn.server.webproxy.WebAppProxy is >> >>started. >> >> >> 2012-07-09 14:26:40,993 INFO >> >> >> org.apache.hadoop.yarn.service.AbstractService: >> >> >> Service:org.apache.hadoop.yarn.server.webproxy.WebAppProxyServer >>is >> >> >>started. >> >> >> 2012-07-09 14:33:26,039 INFO >> >> >> org.apache.hadoop.yarn.server.webproxy.WebAppProxyServlet: dr.who >>is >> >> >> accessing unchecked >> >> >> http://prajakta:44314/ws/v1/mapreduce/jobs/job_1341823967331_0001 >> >>which >> >> >> is the app master GUI of application_1341823967331_0001 owned by >> >> >>prajakta >> >> >> 2012-07-09 14:33:29,277 INFO >> >> >> org.apache.commons.httpclient.HttpMethodDirector: I/O exception >> >> >> (org.apache.commons.httpclient.NoHttpResponseException) caught >>when >> >> >> processing request: The server prajakta failed to respond >> >> >> 2012-07-09 14:33:29,277 INFO >> >> >> org.apache.commons.httpclient.HttpMethodDirector: Retrying request >> >> >> 2012-07-09 14:33:29,284 WARN org.mortbay.log: >> >> >> >> >> >> >>>>>>/proxy/application_1341823967331_0001/ws/v1/mapreduce/jobs/job_134182 >>>>>>39 >> >>>>67 >> >> >>331_0001: >> >> >> java.net.SocketException: Connection reset >> >> >> 2012-07-09 14:37:33,834 INFO >> >> >> org.apache.hadoop.yarn.server.webproxy.WebAppProxyServlet: dr.who >>is >> >> >> accessing unchecked >> >> >> >> >> >> >> >> >> >> >> >>http://prajakta:19888/jobhistory/job/job_1341823967331_0001/jobhistory/jo >> >> >>b/job_1341823967331_0001which is the app master GUI of >> >> >>application_1341823967331_0001 owned by >> >> >> prajakta >> >> >> --------------- >> >> >> >> >> >> I am not sure why http request object is setting my remoteUser to >> >> >>dr.who. >> >> >> :( >> >> >> >> >> >> I gather from >><https://issues.apache.org/jira/browse/MAPREDUCE-2858> >> >> >>that >> >> >> this warning is posted only in case where security is disabled. I >> >>assume >> >> >> that the proxy server is not disabled if security is disabled. >> >> >> >> >> >> Any idea what could be the reason for this I/O exception? Am I >> >>missing >> >> >> setting any property for proper access. Please let me know. >> >> >> >> >> >> Regards, >> >> >> Prajakta >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Fri, Jul 6, 2012 at 10:59 PM, Prajakta Kalmegh >> >> >><pkalm...@gmail.com>wrote: >> >> >> >> >> >>> I am using hadoop trunk (forked from github). It supports RESTful >> >>APIs >> >> >>>as >> >> >>> I am able to retrieve JSON objects for RM (cluster/nodes info)+ >> >> >>> Historyserver. The only issue is with AppMaster REST API. >> >> >>> >> >> >>> Regards, >> >> >>> Prajakta >> >> >>> >> >> >>> >> >> >>> >> >> >>> On Fri, Jul 6, 2012 at 10:55 PM, Robert Evans >> >> >>><ev...@yahoo-inc.com>wrote: >> >> >>> >> >> >>>> What version of hadoop are you using? It could be that the >>version >> >> >>>>you >> >> >>>> have does not have the RESTful APIs in it yet, and the proxy is >> >> >>>>working >> >> >>>> just fine. >> >> >>>> >> >> >>>> --Bobby Evans >> >> >>>> >> >> >>>> On 7/6/12 12:06 PM, "Prajakta Kalmegh" <pkalm...@gmail.com> >>wrote: >> >> >>>> >> >> >>>> >Robert , Thanks for the response. If I do not provide any >>explicit >> >> >>>> >configuration for the proxy server, do I still need to start it >> >>using >> >> >>>> the >> >> >>>> >'yarn start proxy server'? I am currently not doing it. >> >> >>>> > >> >> >>>> >Also, I am able to access the html page for proxy using the >> >> >>>> ><http://localhost:8088/proxy/{appid}/mapreduce/jobs> URL. (Note >> >>this >> >> >>>> url >> >> >>>> >does not have the '/ws/v1/ part in it. I get the html response >> >>when I >> >> >>>> >query >> >> >>>> >for this URL in runtime. >> >> >>>> > >> >> >>>> >So I assume the proxy server must be starting fine since I am >> >>able to >> >> >>>> >access this URL. I will try logging more details tomorrow from >>my >> >> >>>>office >> >> >>>> >machine and will let you know the result. >> >> >>>> > >> >> >>>> >Regards, >> >> >>>> >Prajakta >> >> >>>> > >> >> >>>> > >> >> >>>> > >> >> >>>> >On Fri, Jul 6, 2012 at 10:22 PM, Robert Evans >> >><ev...@yahoo-inc.com> >> >> >>>> wrote: >> >> >>>> > >> >> >>>> >> Sorry I did not respond sooner. The default behavior is to >>have >> >> >>>>the >> >> >>>> >>proxy >> >> >>>> >> server run as part of the RM. I am not really sure why it is >> >>not >> >> >>>> doing >> >> >>>> >> this in your case. If you set the config yourself to be a >>URI >> >> >>>>that is >> >> >>>> >> different from that of the RM then you need to launch a >> >>standalone >> >> >>>> proxy >> >> >>>> >> server. You can do this by running >> >> >>>> >> >> >> >>>> >> yarn start proxy server >> >> >>>> >> >> >> >>>> >> Without sitting down with you it is going to be somewhat >> >>difficult >> >> >>>>to >> >> >>>> >> debug why this is happening. However, in retrospect it >>would be >> >> >>>>nice >> >> >>>> to >> >> >>>> >> add in some extra logging to help indicate why the proxy >>server >> >>is >> >> >>>>not >> >> >>>> >> functioning as desired. If you could file a JIRA to add in >>the >> >> >>>> logging >> >> >>>> >>I >> >> >>>> >> would be happy to provide a patch to you and we can try and >> >>debug >> >> >>>>the >> >> >>>> >> issue further. Please file it under the MAPREDUCE JIRA >>project. >> >> >>>> >> >> >> >>>> >> --Bobby >> >> >>>> >> >> >> >>>> >> On 7/6/12 3:29 AM, "Prajakta Kalmegh" <pkalm...@gmail.com> >> >>wrote: >> >> >>>> >> >> >> >>>> >> >Re-posting as I haven't got a solution yet. Sorry for >> >>spamming. I >> >> >>>> >>won't be >> >> >>>> >> >able to proceed in my code until I get a JSON response using >> >> >>>> AppMaster >> >> >>>> >> >REST >> >> >>>> >> >URL. :( >> >> >>>> >> > >> >> >>>> >> >Thanks, >> >> >>>> >> >Prajakta >> >> >>>> >> > >> >> >>>> >> > >> >> >>>> >> >On Wed, Jul 4, 2012 at 5:55 PM, Prajakta Kalmegh >> >> >>>><pkalm...@gmail.com >> >> >>>> > >> >> >>>> >> >wrote: >> >> >>>> >> > >> >> >>>> >> >> Hi Robert/Harsh >> >> >>>> >> >> >> >> >>>> >> >> Thanks for your reply. >> >> >>>> >> >> >> >> >>>> >> >> My RM is starting just fine. The problem is with the use >>of >> >> >>>> >> >>http://<proxy >>httpddress:port>/proxy/{appid}/ws/v1/mapreduce >> >> >>>> >> >> to get the JSON response. >> >> >>>> >> >> >> >> >>>> >> >> As I said before, I had not configured the >> >> >>>>yarn.web-proxy.address >> >> >>>> >> >>property in yarn-site.xml. I assumed it will use the RM's >> >> >>>> >> >>yarn.resourcemanager.webapp.address property value as >>default. >> >> >>>> >>However, >> >> >>>> >> >>it gives me a '404-Page not found error'. Today I tried >> >> >>>>specifying >> >> >>>> a >> >> >>>> >> >>value explicitly for the yarn.web-proxy.address property. >> >> >>>> >> >> >> >> >>>> >> >> On running the wordcount example, it even gives a url >> >> >>>> >> >><http://localhost:8090>/proxy/{appid}/> to track the App >>Mast >> >> >>>>info. >> >> >>>> >> >>However, I am still not able to get a json response. >> >> >>>> >> >> >> >> >>>> >> >> Also, I tried to get the data from historyserver instead >>of >> >> >>>>runtime >> >> >>>> >> >>using the instructions given on page >> >> >>>> >> >>< >> >> >>>> >> >> >> >>>> >> >> >>>> >> >> >>http://hadoop.apache.org/common/docs/r2.0.0-alpha/hadoop-yarn/hadoop-ya >> >> >>>>r >> >> >>>> >> >>n-site/HistoryServerRest.html> >> >> >>>> >> >> >> >> >>>> >> >> HistoryServer REST response does not give me jobids >> >> >>>>corresponding >> >> >>>> to >> >> >>>> >>an >> >> >>>> >> >>application. It just lists all the jobs run until now. By >>the >> >> >>>>way, >> >> >>>> the >> >> >>>> >> >>documentation does say >> >> >>>> >> >> >> >> >>>> >> >> ---------- >> >> >>>> >> >> >> >> >>>> >> >> "Both of the following URI's give you the history server >> >> >>>> information, >> >> >>>> >> >>from an application id identified by the appid value. >> >> >>>> >> >> * http://<history server http >>address:port>/ws/v1/history >> >> >>>> >> >> * http://<history server http >> >> >>>>address:port>/ws/v1/history/info" >> >> >>>> >> >> --------- >> >> >>>> >> >> >> >> >>>> >> >> But there is no provision to specify the application id >>with >> >> >>>>these >> >> >>>> >>REST >> >> >>>> >> >>URLs. >> >> >>>> >> >> >> >> >>>> >> >> Any idea how I can get the Application Master REST working >> >>and >> >> >>>>also >> >> >>>> >> >>linking jobids to application id using the >>HistoryServerREST >> >>API? >> >> >>>> >> >> >> >> >>>> >> >> Any help is appreciated. Thanks in advance. >> >> >>>> >> >> Regards, >> >> >>>> >> >> Prajakta >> >> >>>> >> >> >> >> >>>> >> >> >> >> >>>> >> >> >> >> >>>> >> >> >> >> >>>> >> >> On Fri, Jun 29, 2012 at 8:55 PM, Robert Evans >> >> >>>><ev...@yahoo-inc.com >> >> >>>> > >> >> >>>> >> >>wrote: >> >> >>>> >> >> >> >> >>>> >> >>> Please don't file that JIRA. The proxy server is >>intended >> >>to >> >> >>>> front >> >> >>>> >>the >> >> >>>> >> >>> web server for all calls to the AM. This is so you only >> >>have >> >> >>>>to >> >> >>>> go >> >> >>>> >>to >> >> >>>> >> >>>a >> >> >>>> >> >>> single location to get to any AM's web service. The >>proxy >> >> >>>>server >> >> >>>> >>is a >> >> >>>> >> >>> very simple proxy and just forwards the extra part of the >> >>path >> >> >>>>on >> >> >>>> to >> >> >>>> >> >>>the >> >> >>>> >> >>> AM. >> >> >>>> >> >>> >> >> >>>> >> >>> If you are having issues with this please include the >> >>version >> >> >>>>you >> >> >>>> >>are >> >> >>>> >> >>> having problems with. Also please look at the logs for >>the >> >>RM >> >> >>>>on >> >> >>>> >> >>>startup >> >> >>>> >> >>> to see if there is anything there indicating why it is >>not >> >> >>>> starting >> >> >>>> >>up. >> >> >>>> >> >>> >> >> >>>> >> >>> --Bobby Evans >> >> >>>> >> >>> >> >> >>>> >> >>> On 6/28/12 9:46 AM, "Harsh J" <ha...@cloudera.com> wrote: >> >> >>>> >> >>> >> >> >>>> >> >>> >As far as I can tell, the MR WebApp, as the name itself >> >> >>>>indicates >> >> >>>> >>on >> >> >>>> >> >>> >its doc page, starts only at the MR AM (which may be >> >>running >> >> >>>>at >> >> >>>> any >> >> >>>> >> >>> >NM), and it starts as an ephemeral port logged at in >>the AM >> >> >>>>logs >> >> >>>> >> >>> >usually as: >> >> >>>> >> >>> > >> >> >>>> >> >>> >INFO Web app /mapreduce started at [PORT] >> >> >>>> >> >>> > >> >> >>>> >> >>> >That it starts its own server with an ephemeral access >> >>point >> >> >>>> makes >> >> >>>> >> >>> >sense, since each job uses its own AM and having a >>common >> >> >>>> location >> >> >>>> >>may >> >> >>>> >> >>> >not work with the form of REST API documented at your >>link. >> >> >>>>Can >> >> >>>> you >> >> >>>> >> >>> >please file a JIRA to fix the doc and remove the proxy >> >>server >> >> >>>> refs, >> >> >>>> >> >>> >which are misleading? >> >> >>>> >> >>> > >> >> >>>> >> >>> >Do correct me if I'm wrong. >> >> >>>> >> >>> > >> >> >>>> >> >>> >On Thu, Jun 28, 2012 at 6:13 PM, Prajakta Kalmegh >> >> >>>> >><pkalm...@gmail.com >> >> >>>> >> > >> >> >>>> >> >>> >wrote: >> >> >>>> >> >>> >> Hi >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> I am trying to get the ApplicationMaster info using >>the >> >> >>>> >> >>><http://<proxy >> >> >>>> >> >>> >>http >> >> >>>> >> >>> >> address:port>/proxy/{appid}/ws/v1/mapreduce/info> >>link as >> >> >>>> >>described >> >> >>>> >> >>>on >> >> >>>> >> >>> >>the < >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> >> >>>> >> >>> >> >> >>>> >> >> >> >>>> >> >> >>>> >> >> >>http://hadoop.apache.org/common/docs/r2.0.0-alpha/hadoop-yarn/hadoop-ya >> >> >>>>r >> >> >>>> >> >>>n >> >> >>>> >> >>> >>-site/MapredAppMasterRest.html> >> >> >>>> >> >>> >> page. >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> I am able to access and retrieve JSON response for >>other >> >> >>>> modules >> >> >>>> >> >>> >> (ResourceManager, NodeManager and HistoryServer). >> >>However, >> >> >>>>I am >> >> >>>> >> >>>getting >> >> >>>> >> >>> >> 'Page not found' when I try to use my ResourceManager >> >>Http >> >> >>>> >>address >> >> >>>> >> >>>to >> >> >>>> >> >>> >> access the ApplicationMaster info. I am using < >> >> >>>> >> >>> >> >>http://localhost:8088/proxy/{appid}/ws/v1/mapreduce/info >> > >> >> to >> >> >>>> >> >>>retrieve >> >> >>>> >> >>> >>JSON >> >> >>>> >> >>> >> response. >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> The instructions say "The application master should be >> >> >>>>accessed >> >> >>>> >>via >> >> >>>> >> >>>the >> >> >>>> >> >>> >> proxy. This proxy is configurable to run either on the >> >> >>>>resource >> >> >>>> >> >>>manager >> >> >>>> >> >>> >>or >> >> >>>> >> >>> >> on a separate host." >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> My yarn-default.xml contains: >> >> >>>> >> >>> >> <property> >> >> >>>> >> >>> >> <description>The address for the web proxy as >> >>HOST:PORT, >> >> >>>>if >> >> >>>> >>this >> >> >>>> >> >>>is >> >> >>>> >> >>> >>not >> >> >>>> >> >>> >> given then the proxy will run as part of the >> >> >>>> RM</description> >> >> >>>> >> >>> >> <name>yarn.web-proxy.address</name> >> >> >>>> >> >>> >> <value/> >> >> >>>> >> >>> >> </property> >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> and I did not set a value explicitly in yarn-site.xml. >> >>Any >> >> >>>> idea >> >> >>>> >> >>>how I >> >> >>>> >> >>> >>can >> >> >>>> >> >>> >> get this working? Thanks in advance. >> >> >>>> >> >>> >> >> >> >>>> >> >>> >> Regards, >> >> >>>> >> >>> >> Prajakta >> >> >>>> >> >>> > >> >> >>>> >> >>> > >> >> >>>> >> >>> > >> >> >>>> >> >>> >-- >> >> >>>> >> >>> >Harsh J >> >> >>>> >> >>> >> >> >>>> >> >>> >> >> >>>> >> >> >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >>>> >> >> >>> >> >> >> >> >> >> >> >> >>