That should have been: useradd -g users guest
On Thu, Dec 24, 2015 at 2:45 PM, larry mccay <[email protected]> wrote: > Hi Christopher - > > Let's step back and get the simplest scenario working... > > We will take your custom service out of the picture and concentrate on > hitting webhdfs through Knox. > > First question, why do you appear to have an identity-assertion provider > named 'foo' configured? Have you created a custom identity assertion for > some reason? > > Setting aside the whys of it, let's set that back to the name 'Default'. > > You will also need to configure Knox as a trusted proxy for HDFS to start. > Follow the instructions at: > http://knox.apache.org/books/knox-0-7-0/user-guide.html#Related+Cluster+Configuration > > Also, ensure that the 'guest' user is created on each machine in the > cluster and is in the 'users' group. > > If not, add it to each machine: > > useradd -g groups guest > > You then *may* have to add a home directory in HDFS for the guest user. > > Once we have these baselines covered then we should be able to hit webhdfs > through Knox > > curl -ivku guest:guest-password > https://hostname:8443/gateway/default/webhdfs/v1/tmp?op=LISTSTATUS > > Once we get this usecase working as expected then we can start talking > about your custom service. > > thanks, > > --larry > > > On Thu, Dec 24, 2015 at 1:24 PM, Christopher Jackson < > [email protected]> wrote: > >> Hey everyone, >> >> First off, Happy Holidays! >> >> I have hit a wall trying to figure out this issue with accessing a web >> application provided by a custom ambari service through the knox gateway in >> a kerberized environment and am looking for some guidance. >> >> Some Background: >> - I have added Kerberos support for my custom service which seems to be >> working fine, from a install and runtime standpoint. >> - I have added Knox support for my custom service which works fine when >> kerberos is disabled. In this scenario I can access the 3 web applications >> sitting behind the gateway with no issues. >> - I’m using HDP 2.3 (HDP-2.3.4.0-3485) on rhel6, and used the automated >> kerberos wizard. I’m using the demo LDAP with its default settings. >> >> When kerberos and knox are both enabled and I try accessing any of my >> resources behind the gateway I get prompted for basic auth which looks like >> it succeeds according to the logs, however I then receive a 500 response >> and the logs show a NPE error that I haven’t quite figured out the cause >> of. Below I have included what I believe to be the appropriate >> configuration files and logs to help troubleshoot the issue. The logs >> contain the failures I am encountering after trying to access one of my >> resources from my custom service behind the gateway using the >> username/password combo of guest/guest-password. >> >> Also note that when I try and access other resources behind the gateway I >> am also experiencing issues, for instance I get the following error when >> accessing >> https://server.example.com:8443/gateway/default/webhdfs/v1/?op=LISTSTATUS >> : >> >> {"RemoteException":{"exception":"SecurityException","javaClassName":"java.lang.SecurityException","message":"Failed >> to obtain user group information: >> org.apache.hadoop.security.authorize.AuthorizationException: User: knox is >> not allowed to impersonate guest"}} >> >> Is there additional configuration I need to add to the default users-ldif >> to get knox and kerberos working harmoniously? >> >> Contents of: /usr/hdp/current/knox-server/data/services/foo/1.0.0/ >> >> rewrite.xml >> <rules> >> <rule dir="IN" name=“FOO/foo-console/root/inbound" >> pattern="*://*:*/**/foo/fooconfig/"> >> <rewrite template="{$serviceUrl[FOO]}/fooconfig/" /> >> </rule> >> <rule dir="IN" name=“FOO/foo-console/inbound" >> pattern="*://*:*/**/foo/fooconfig/{path=**}?{**}"> >> <rewrite template="{$serviceUrl[FOO]}/fooconfig/{path=**}?{**}" /> >> </rule> >> <rule dir="IN" name=“FOO/foo-services/inbound" >> pattern="*://*:*/**/foo/fooservices/{path=**}?{**}"> >> <rewrite template="{$serviceUrl[FOO]}/fooservices/{path=**}?{**}" /> >> </rule> >> <rule dir="IN" name=“FOO/foo-search/root/inbound" >> pattern="*://*:*/**/foo/pme/"> >> <rewrite template="{$serviceUrl[FOO]}/foosearch/" /> >> </rule> >> <rule dir="IN" name=“FOO/foo-search/inbound" >> pattern="*://*:*/**/foo/foosearch/{path=**}?{**}"> >> <rewrite template="{$serviceUrl[FOO]}/foosearch/{path=**}?{**}" /> >> </rule> >> </rules> >> >> service.xml >> <service role=“FOO" name=“foo" version="1.0.0"> >> <policies> >> <policy role="webappsec" /> >> <policy role="authentication" /> >> <policy role="rewrite" /> >> <policy role="identity-assertion" name=“foo" /> >> <policy role="logout" name=“foo" /> >> </policies> >> <routes> >> <route path=“/foo/fooconfig/" /> >> <route path=“/foo/fooconfig/**" /> >> <route path="/foo/fooservices/**" /> >> <route path="/foo/foosearch/" /> >> <route path="/foo/foosearch/**" /> >> </routes> >> </service> >> >> I added the following snippets to the default topology: >> >> (the following as children to gateway element) >> <provider> >> <role>identity-assertion</role> >> <name>foo</name> >> <enabled>true</enabled> >> </provider> >> <provider> >> <role>logout</role> >> <name>foo</name> >> <enabled>true</enabled> >> </provider> >> >> (the following as a child to the topology element) >> <service> >> <role>FOO</role> >> <url>https://server2.example.com:9443</url> >> </service> >> >> Contents of gateway-audit.log >> 15/12/24 09:44:49 >> ||b514c865-46f7-45f4-a80c-9ff51f841b00|audit|FOO||||access|uri|/gateway/default/foo/fooconfig|unavailable| >> 15/12/24 09:44:49 >> ||b514c865-46f7-45f4-a80c-9ff51f841b00|audit|FOO||||access|uri|/gateway/default/foo/fooconfig|success|Response >> status: 401 >> 15/12/24 09:44:55 >> ||91ef7cb5-090d-4648-a8a1-18b436d51bcb|audit|FOO||||access|uri|/gateway/default/foo/fooconfig|unavailable| >> 15/12/24 09:44:55 >> ||91ef7cb5-090d-4648-a8a1-18b436d51bcb|audit|FOO|guest|||authentication|uri|/gateway/default/foo/fooconfig|success| >> 15/12/24 09:44:55 >> ||91ef7cb5-090d-4648-a8a1-18b436d51bcb|audit|FOO|guest|||authentication|uri|/gateway/default/foo/fooconfig|success|Groups: >> [] >> 15/12/24 09:44:55 >> ||91ef7cb5-090d-4648-a8a1-18b436d51bcb|audit|FOO|guest|||dispatch|uri| >> https://server2.example.com:9443/fooconfig/|unavailable| >> 15/12/24 09:44:55 >> ||91ef7cb5-090d-4648-a8a1-18b436d51bcb|audit|FOO|guest|||access|uri|/gateway/default/foo/fooconfig|failure| >> >> Contents of gateway.log >> 2015-12-24 09:44:55,011 INFO hadoop.gateway >> (KnoxLdapRealm.java:getUserDn(556)) - Computed userDn: >> uid=guest,ou=people,dc=hadoop,dc=apache,dc=org using dnTemplate for >> principal: guest >> 2015-12-24 09:44:55,032 ERROR hadoop.gateway >> (AbstractGatewayFilter.java:doFilter(69)) - Failed to execute filter: >> java.lang.NullPointerException >> 2015-12-24 09:44:55,032 ERROR hadoop.gateway >> (AbstractGatewayFilter.java:doFilter(66)) - Failed to execute filter: >> javax.servlet.ServletException: java.lang.NullPointerException >> 2015-12-24 09:44:55,032 ERROR hadoop.gateway >> (AbstractGatewayFilter.java:doFilter(66)) - Failed to execute filter: >> javax.servlet.ServletException: >> org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> 2015-12-24 09:44:55,032 ERROR hadoop.gateway >> (AbstractGatewayFilter.java:doFilter(66)) - Failed to execute filter: >> javax.servlet.ServletException: >> org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> 2015-12-24 09:44:55,033 ERROR hadoop.gateway >> (GatewayFilter.java:doFilter(135)) - Gateway processing failed: >> javax.servlet.ServletException: >> org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> javax.servlet.ServletException: >> org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> at >> org.apache.shiro.web.servlet.AdviceFilter.cleanup(AdviceFilter.java:196) >> at >> org.apache.shiro.web.filter.authc.AuthenticatingFilter.cleanup(AuthenticatingFilter.java:155) >> at >> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:148) >> at >> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) >> at >> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) >> at >> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) >> at >> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) >> at >> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) >> at >> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) >> at >> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) >> at >> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) >> at >> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.ResponseCookieFilter.doFilter(ResponseCookieFilter.java:38) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.XForwardedHeaderFilter.doFilter(XForwardedHeaderFilter.java:30) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.GatewayFilter.doFilter(GatewayFilter.java:129) >> at >> org.apache.hadoop.gateway.GatewayServlet.service(GatewayServlet.java:121) >> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) >> at >> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) >> at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) >> at >> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) >> at >> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) >> at >> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) >> at >> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) >> at >> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) >> at >> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) >> at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) >> at >> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) >> at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) >> at org.eclipse.jetty.server.Server.handle(Server.java:370) >> at >> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) >> at >> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) >> at >> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) >> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) >> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) >> at >> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) >> at org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196) >> at >> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) >> at >> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) >> at >> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) >> at >> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> at >> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:385) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter.doFilter(ShiroSubjectIdentityAdapter.java:74) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) >> at >> org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) >> at >> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) >> ... 46 more >> Caused by: java.security.PrivilegedActionException: >> javax.servlet.ServletException: java.lang.NullPointerException >> at java.security.AccessController.doPrivileged(Native Method) >> at javax.security.auth.Subject.doAs(Subject.java:422) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain.call(ShiroSubjectIdentityAdapter.java:129) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain.call(ShiroSubjectIdentityAdapter.java:77) >> at >> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) >> at >> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) >> at >> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) >> ... 52 more >> Caused by: javax.servlet.ServletException: java.lang.NullPointerException >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:70) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> com.example.knox.filter.FooLogoutFilter.doFilter(FooLogoutFilter.java:63) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.security.AbstractIdentityAssertionFilter.doFilterInternal(AbstractIdentityAssertionFilter.java:209) >> at >> org.apache.hadoop.gateway.filter.security.AbstractIdentityAssertionFilter.continueChainAsPrincipal(AbstractIdentityAssertionFilter.java:157) >> at >> com.example.knox.filter.FooIdentityAssertionFilter.doFilter(FooIdentityAssertionFilter.java:36) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteServletFilter.doFilter(UrlRewriteServletFilter.java:60) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain$1.run(ShiroSubjectIdentityAdapter.java:93) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain$1.run(ShiroSubjectIdentityAdapter.java:90) >> ... 59 more >> Caused by: java.lang.NullPointerException >> at >> org.apache.hadoop.gateway.dispatch.DefaultDispatch.executeOutboundRequest(DefaultDispatch.java:119) >> at >> org.apache.hadoop.gateway.dispatch.DefaultDispatch.executeRequest(DefaultDispatch.java:105) >> at >> org.apache.hadoop.gateway.dispatch.DefaultDispatch.doGet(DefaultDispatch.java:285) >> at >> org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter$GetAdapter.doMethod(GatewayDispatchFilter.java:130) >> at >> org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter.doFilter(GatewayDispatchFilter.java:102) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> ... 75 more >> 2015-12-24 09:44:55,037 ERROR hadoop.gateway >> (GatewayServlet.java:service(126)) - Gateway processing failed: >> javax.servlet.ServletException: >> org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> javax.servlet.ServletException: >> org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> at >> org.apache.shiro.web.servlet.AdviceFilter.cleanup(AdviceFilter.java:196) >> at >> org.apache.shiro.web.filter.authc.AuthenticatingFilter.cleanup(AuthenticatingFilter.java:155) >> at >> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:148) >> at >> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) >> at >> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) >> at >> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) >> at >> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) >> at >> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) >> at >> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) >> at >> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) >> at >> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) >> at >> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.ResponseCookieFilter.doFilter(ResponseCookieFilter.java:38) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.XForwardedHeaderFilter.doFilter(XForwardedHeaderFilter.java:30) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.GatewayFilter.doFilter(GatewayFilter.java:129) >> at >> org.apache.hadoop.gateway.GatewayServlet.service(GatewayServlet.java:121) >> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) >> at >> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) >> at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) >> at >> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) >> at >> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) >> at >> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) >> at >> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) >> at >> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) >> at >> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) >> at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) >> at >> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) >> at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) >> at org.eclipse.jetty.server.Server.handle(Server.java:370) >> at >> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) >> at >> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) >> at >> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) >> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) >> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) >> at >> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) >> at org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196) >> at >> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) >> at >> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) >> at >> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) >> at >> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: org.apache.shiro.subject.ExecutionException: >> java.security.PrivilegedActionException: javax.servlet.ServletException: >> java.lang.NullPointerException >> at >> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:385) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter.doFilter(ShiroSubjectIdentityAdapter.java:74) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) >> at >> org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) >> at >> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) >> ... 46 more >> Caused by: java.security.PrivilegedActionException: >> javax.servlet.ServletException: java.lang.NullPointerException >> at java.security.AccessController.doPrivileged(Native Method) >> at javax.security.auth.Subject.doAs(Subject.java:422) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain.call(ShiroSubjectIdentityAdapter.java:129) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain.call(ShiroSubjectIdentityAdapter.java:77) >> at >> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) >> at >> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) >> at >> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) >> ... 52 more >> Caused by: javax.servlet.ServletException: java.lang.NullPointerException >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:70) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> com.example.knox.filter.FooLogoutFilter.doFilter(FooLogoutFilter.java:63) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.security.AbstractIdentityAssertionFilter.doFilterInternal(AbstractIdentityAssertionFilter.java:209) >> at >> org.apache.hadoop.gateway.filter.security.AbstractIdentityAssertionFilter.continueChainAsPrincipal(AbstractIdentityAssertionFilter.java:157) >> at >> com.example.knox.filter.FooIdentityAssertionFilter.doFilter(FooIdentityAssertionFilter.java:36) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteServletFilter.doFilter(UrlRewriteServletFilter.java:60) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> at >> org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:315) >> at >> org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:215) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain$1.run(ShiroSubjectIdentityAdapter.java:93) >> at >> org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$CallableChain$1.run(ShiroSubjectIdentityAdapter.java:90) >> ... 59 more >> Caused by: java.lang.NullPointerException >> at >> org.apache.hadoop.gateway.dispatch.DefaultDispatch.executeOutboundRequest(DefaultDispatch.java:119) >> at >> org.apache.hadoop.gateway.dispatch.DefaultDispatch.executeRequest(DefaultDispatch.java:105) >> at >> org.apache.hadoop.gateway.dispatch.DefaultDispatch.doGet(DefaultDispatch.java:285) >> at >> org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter$GetAdapter.doMethod(GatewayDispatchFilter.java:130) >> at >> org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter.doFilter(GatewayDispatchFilter.java:102) >> at >> org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61) >> ... 75 more >> >> >> Regards, >> >> Christopher Jackson >> [email protected] >> >> >> >
