[ 
https://issues.apache.org/jira/browse/HDFS-3813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Chu reassigned HDFS-3813:
---------------------------------

    Assignee: Stephen Chu
    
> Secure NameNode startup has bad error message (Principal not defined in 
> configuration) if WebHDFS is enabled but its principal is not configured
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-3813
>                 URL: https://issues.apache.org/jira/browse/HDFS-3813
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: security, webhdfs
>    Affects Versions: 2.0.0-alpha
>            Reporter: Stephen Chu
>            Assignee: Stephen Chu
>              Labels: newbie
>
> I configured a secure HDFS cluster, but failed to start the NameNode because 
> I had enabled WebHDFS without specifying its principal in hdfs-site.xml.
> In the NN logs, I see:
> {noformat}
> 2012-05-28 17:50:13,021 INFO 
> org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler:
>  Login using keytab /etc/hdfs.keytab, for principal 
> HTTP/[email protected]
> 2012-05-28 17:50:13,030 INFO 
> org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler:
>  Initialized, principal [HTTP/[email protected]] from 
> keytab [/etc/hdfs.keytab]
> 2012-05-28 17:50:13,031 WARN 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter: 
> 'signature.secret' configuration not set, using a random value as secret
> 2012-05-28 17:50:13,032 WARN org.mortbay.log: failed SPNEGO: 
> javax.servlet.ServletException: javax.servlet.ServletException: Principal not 
> defined in configuration
> 2012-05-28 17:50:13,033 WARN org.mortbay.log: Failed startup of context 
> org.mortbay.jetty.webapp.WebAppContext@21453d72{/,file:/usr/lib/hadoop-hdfs/webapps/hdfs}
> javax.servlet.ServletException: javax.servlet.ServletException: Principal not 
> defined in configuration
>       at 
> org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler.init(KerberosAuthenticationHandler.java:185)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.init(AuthenticationFilter.java:146)
>       at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
>       at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>       at 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>       at 
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>       at org.mortbay.jetty.Server.doStart(Server.java:224)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at org.apache.hadoop.http.HttpServer.start(HttpServer.java:617)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeHttpServer.start(NameNodeHttpServer.java:173)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:529)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:471)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:434)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:590)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:571)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1134)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1193)
> Caused by: javax.servlet.ServletException: Principal not defined in 
> configuration
>       at 
> org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler.init(KerberosAuthenticationHandler.java:146)
>       ... 24 more
> 2012-05-28 17:50:13,034 WARN org.mortbay.log: Nested in 
> javax.servlet.ServletException: javax.servlet.ServletException: Principal not 
> defined in configuration:
> javax.servlet.ServletException: Principal not defined in configuration
>       at 
> org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler.init(KerberosAuthenticationHandler.java:146)
>       at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.init(AuthenticationFilter.java:146)
>       at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
>       at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>       at 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>       at 
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>       at org.mortbay.jetty.Server.doStart(Server.java:224)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at org.apache.hadoop.http.HttpServer.start(HttpServer.java:617)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeHttpServer.start(NameNodeHttpServer.java:173)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:529)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:471)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:434)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:590)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:571)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1134)
>       at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1193)
> 2012-05-28 17:50:13,041 INFO org.mortbay.log: Started 
> [email protected]:50070
> 2012-05-28 17:50:13,041 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: 
> Web-server up at: c1225.hal.cloudera.com:50070
> 2012-05-28 17:50:13,042 INFO org.apache.hadoop.ipc.Server: IPC Server 
> Responder: starting
> 2012-05-28 17:50:13,042 INFO org.apache.hadoop.ipc.Server: IPC Server 
> listener on 17020: starting
> 2012-05-28 17:50:13,045 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: 
> NameNode up at: c1225.hal.cloudera.com/172.29.98.216:17020
> 2012-05-28 17:50:13,045 INFO 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Starting services 
> required for standby state
> 2012-05-28 17:50:13,048 INFO 
> org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer: Will roll logs on 
> active node at c1226.hal.cloudera.com/172.29.98.217:17020 every 120 seconds.
> 2012-05-28 17:50:13,058 INFO 
> org.apache.hadoop.hdfs.server.namenode.ha.StandbyCheckpointer: Starting 
> standby checkpoint thread...
> Checkpointing active NN at c1226.hal.cloudera.com:50070
> Serving checkpoints at c1225.hal.cloudera.com/172.29.98.216:50070
> {noformat}
> The error message should be more specific as to which principal hasn't been 
> configured.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to