Dieter created SPARK-23548:
------------------------------

             Summary: Redirect loop from Resourcemanager to Spark Webui
                 Key: SPARK-23548
                 URL: https://issues.apache.org/jira/browse/SPARK-23548
             Project: Spark
          Issue Type: Bug
          Components: Web UI, YARN
    Affects Versions: 2.3.0
         Environment: *SW*

hadoop-3.0.0
Spark 2.3.0 (git revision a0d7949896) built for Hadoop 2.7.3

 

*Nodes*

jupyter
proxyserver
historyserver
resourcemanager
nodemanager ([http://9d581cfb391f:8042|http://9d581cfb391f:8042/])

 

*Config of sparkcontext*

spark.app.id=application_1519904229414_0011

spark.app.name=Spark shell

spark.driver.appUIAddress=http://jupyter:4040

spark.driver.extraJavaOptions=-Dlog4j.configuration=file:/tmp/driver_log4j.properties

spark.driver.host=jupyter

spark.driver.port=35813

spark.executor.extraJavaOptions=-Dlog4j.configuration=file:/tmp/driver_log4j.properties

spark.executor.id=driver

spark.home=/usr/local/spark

spark.jars=

spark.logConf=true

spark.master=yarn

spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_HOSTS=proxyserver

spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_URI_BASES=[http://proxyserver:8089/proxy/application_1519904229414_0011]
 

 

*yarn-site.xml*

<configuration>
 <!-- Site specific YARN configuration properties -->
 <property>
 <name>yarn.web-proxy.address</name>
 <value>proxyserver:8089</value>
 </property>
 <property>
 <name>yarn.resourcemanager.fs.state-store.uri</name>
 <value>/rmstate</value>
 </property>
 <property>
 <name>yarn.resourcemanager.webapp.address</name>
 <value>resourcemanager:8088</value>
 </property>
 <property>
 <name>yarn.timeline-service.generic-application-history.enabled</name>
 <value>true</value>
 </property>
 <property>
 <name>yarn.resourcemanager.recovery.enabled</name>
 <value>true</value>
 </property>
 <property>
 <name>yarn.nodemanager.bind-host</name>
 <value>0.0.0.0</value>
 </property>
 <property>
 <name>yarn.timeline-service.bind-host</name>
 <value>0.0.0.0</value>
 </property>
 <property>
 <name>yarn.log-aggregation-enable</name>
 <value>true</value>
 </property>
 <property>
 <name>yarn.timeline-service.enabled</name>
 <value>true</value>
 </property>
 <property>
 <name>yarn.resourcemanager.store.class</name>
 
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore</value>
 </property>
 <property>
 <name>yarn.resourcemanager.system-metrics-publisher.enabled</name>
 <value>true</value>
 </property>
 <property>
 <name>yarn.nodemanager.remote-app-log-dir</name>
 <value>/app-logs</value>
 </property>
 <property>
 <name>yarn.nodemanager.vmem-pmem-ratio</name>
 <value>4.1</value>
 </property>
 <property>
 <name>yarn.resourcemanager.resource-tracker.address</name>
 <value>resourcemanager:8031</value>
 </property>
 <property>
 <name>yarn.resourcemanager.hostname</name>
 <value>resourcemanager</value>
 </property>
 <property>
 <name>yarn.timeline-service.hostname</name>
 <value>historyserver</value>
 </property>
 <property>
 <name>yarn.log.server.url</name>
 <value>http://historyserver:8188/applicationhistory/logs/</value>
 </property>
 <property>
 <name>yarn.resourcemanager.bind-host</name>
 <value>0.0.0.0</value>
 </property>
 <property>
 <name>yarn.resourcemanager.scheduler.address</name>
 <value>resourcemanager:8030</value>
 </property>
 <property>
 <name>yarn.resourcemanager.address</name>
 <value>resourcemanager:8032</value>
 </property>
</configuration>
            Reporter: Dieter


Access from Resourcemanager to Webui in a distributed environment results in a 
redirect loop. It seems webui is not recognizing request is coming from 
resourcemanager proxy.

 

*Situation*

Spark application running on jupyter

 

*link in resourcemanger:8088 (behind Trackingui->Applicationmaster)*

[http://proxyserver:8089/proxy/application_1519904229414_0011/]

 

*Response of webui on jupyter:4040 (redirects to proxyserver)*

{{<html>}}
{{  <head>}}
{{    <title>      Moved    </title>  </head>  <body>    <h1>      Moved    
</h1>    <div>      Content has moved      <a 
href="http://proxyserver:8089/proxy/application_1519904229414_0011/";>here</a>   
 </div>  }}
{{  </body>}}
{{</html>}}{{ }}

 

*log output of proxyserver (results in redirect)*

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,905 DEBUG strategy.ExecuteProduceConsume: EPC 
Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@5c4d391a producing   
  

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,908 DEBUG protocol.RequestAuthCache: Auth cache not set 
in the context            

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,908 DEBUG http.wire: >> "[\r][\n]"            

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,908 DEBUG http.headers: >> GET / HTTP/1.1          

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,908 DEBUG http.headers: >> Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
     

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,908 DEBUG http.headers: >> Host: jupyter:4040  

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,911 DEBUG http.headers: << Server: Jetty(9.3.z-SNAPSHOT)  
        

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,911 DEBUG client.DefaultRedirectStrategy: Redirect 
requested to location 
'http://proxyserver:8089/proxy/application_1519904229414_0001/'     

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,911 DEBUG http.wire: << " Moved[\n]"    

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,911 DEBUG http.wire: << " Content has moved [\n]"         
 

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,911 DEBUG http.wire: << " <a 
href="http://proxyserver:8089/proxy/application_1519904229414_0001/";>here</a>[\n]"
        

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,911 DEBUG conn.BasicClientConnectionManager: Connection 
can be kept alive indefinitely           

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,911 DEBUG conn.DefaultClientConnectionOperator: 
Connecting to proxyserver:8089        

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,912 DEBUG io.ManagedSelector: Queued change 
org.eclipse.jetty.io.ManagedSelector$Accept@5498de79 on 
org.eclipse.jetty.io.ManagedSelector@558bdf1f id=0 keys=63 selected=0       

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,912 DEBUG io.ManagedSelector: Selector loop woken up from 
select, 0/63 selected          

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,913 DEBUG strategy.ExecuteProduceConsume: EPC 
Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@5c4d391a dispatch    
    

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,913 DEBUG thread.QueuedThreadPool: queue EPC 
Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@5c4d391a          

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,913 DEBUG io.SelectChannelEndPoint: changeInterests 
p=false 0->1 for 
SelectChannelEndPoint@77d3aac7\{/10.0.1.17:48699<->8089,Open,in,out,FI,-,0/10000,HttpConnection@7d134d7f}{io=0/1,kio=0,kro=0}
        

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,914 DEBUG conn.DefaultClientConnection: Sending request: 
GET /proxy/application_1519904229414_0001/ HTTP/1.1   

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,914 DEBUG http.wire: >> "Accept-Encoding: gzip, 
deflate[\r][\n]"

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,914 DEBUG http.wire: >> "Host: proxyserver:8089[\r][\n]"  
           

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,914 DEBUG http.headers: >> GET 
/proxy/application_1519904229414_0001/ HTTP/1.1    

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG io.FillInterest: 
FillInterest@301a7eba\{true,AC.ReadCB@7d134d7f{HttpConnection@7d134d7f[SelectChannelEndPoint@77d3aac7{/10.0.1.17:48699<->8089,Open,in,out,FI,-,2/10000,HttpConnection@7d134d7f}{io=1/0,kio=1,kro=1}][p=HttpParser\{s=START,0
 of 
0},g=HttpGenerator@17fc5588\{s=START},c=HttpChannelOverHttp@54440a5\{r=0,c=false,a=IDLE,uri=null}]}}
 fillable 
AC.ReadCB@7d134d7f\{HttpConnection@7d134d7f[SelectChannelEndPoint@77d3aac7{/10.0.1.17:48699<->8089,Open,in,out,FI,-,2/10000,HttpConnection@7d134d7f}{io=1/0,kio=1,kro=1}][p=HttpParser\{s=START,0
 of 
0},g=HttpGenerator@17fc5588\{s=START},c=HttpChannelOverHttp@54440a5\{r=0,c=false,a=IDLE,uri=null}]}
      

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG io.ChannelEndPoint: filled 426 
SelectChannelEndPoint@77d3aac7\{/10.0.1.17:48699<->8089,Open,in,out,-,-,2/10000,HttpConnection@7d134d7f}{io=1/0,kio=1,kro=1}
        

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG server.HttpConnection: 
HttpConnection@7d134d7f[SelectChannelEndPoint@77d3aac7\{/10.0.1.17:48699<->8089,Open,in,out,-,-,0/10000,HttpConnection@7d134d7f}{io=1/0,kio=1,kro=1}][p=HttpParser\{s=START,0
 of 
0},g=HttpGenerator@17fc5588\{s=START},c=HttpChannelOverHttp@54440a5\{r=0,c=false,a=IDLE,uri=null}]
 filled 426 HeapByteBuffer@5b3c5d02[p=0,l=426,c=8192,r=426]=\{<<<GET 
/proxy/applic... Keep-Alive\r\n\r\n>>>Accept-Language: 
...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}          

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG http.HttpParser: SPACE2 --> REQUEST_VERSION     
    

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG http.HttpParser: HEADER_IN_VALUE --> HEADER     
   

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG http.HttpParser: HEADER_IN_VALUE --> HEADER     
   

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG http.HttpParser: HEADER --> HEADER_VALUE

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,915 DEBUG server.HttpConnection: 
HttpConnection@7d134d7f[SelectChannelEndPoint@77d3aac7\{/10.0.1.17:48699<->8089,Open,in,out,-,-,0/10000,HttpConnection@7d134d7f}{io=1/0,kio=1,kro=1}][p=HttpParser\{s=END,0
 of 
0},g=HttpGenerator@17fc5588\{s=START},c=HttpChannelOverHttp@54440a5\{r=1,c=false,a=IDLE,uri=//proxyserver:8089/proxy/application_1519904229414_0001/}]
 parsed true HttpParser\{s=END,0 of 0}   

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,916 DEBUG server.session: session=null   

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,916 DEBUG servlet.ServletHandler: call filter 
static_user_filter     

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,918 DEBUG io.ManagedSelector: Selector loop waiting on 
select  

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,929 DEBUG webproxy.WebAppProxyServlet: local InetAddress 
for proxy host: proxyserver/10.0.1.17  

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,930 DEBUG conn.BasicClientConnectionManager: Get 
connection for route proxyserver/10.0.1.17->{}->http://jupyter:4040

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,933 DEBUG protocol.RequestTargetAuthentication: Target 
auth state: UNCHALLENGED   

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,934 DEBUG conn.DefaultClientConnection: Sending request: 
GET / HTTP/1.1          

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,934 DEBUG http.wire: >> "Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8[\r][\n]"
     

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,934 DEBUG http.wire: >> "User-Agent: Mozilla/5.0 (Windows 
NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/64.0.3282.167 Safari/537.36[\r][\n]"             

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,934 DEBUG http.wire: >> "Host: jupyter:4040[\r][\n]"      

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,934 DEBUG http.wire: >> "Connection: Keep-Alive[\r][\n]"  
           

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,934 DEBUG http.headers: >> Connection: Keep-Alive        

March 1st 2018, 12:38:50.000     
/hadoop_proxyserver.1.ftfomwpuh9pmpwm87aon122vl             proxyserver stderr 
| 2018-03-01 11:38:49,937 DEBUG http.headers: << Location: 
http://proxyserver:8089/proxy/application_1519904229414_0001/       

 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to