Velineni Lakshmi Prasanna created APEXCORE-746:
--------------------------------------------------

             Summary: Application fails to run in TLS/SSL enabled cluster 
because of a stram web service error
                 Key: APEXCORE-746
                 URL: https://issues.apache.org/jira/browse/APEXCORE-746
             Project: Apache Apex Core
          Issue Type: Bug
         Environment: CDH 5.11.0 + TLS/SSL enabled
            Reporter: Velineni Lakshmi Prasanna


In the specified environment with TLS/SSL enabled, an application this is 
launched fails to get to a running state. It gets stuck in accepted state.

On further debugging, the app master starts but gets stuck failing to 
initialize the stram web service and eventually fails with the following 
exception

java.io.IOException: !JsseListener: java.lang.NullPointerException
        at 
org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:531)
        at 
org.apache.hadoop.security.ssl.SslSocketConnectorSecure.newServerSocket(SslSocketConnectorSecure.java:46)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at 
org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:953)
        at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:894)
        at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:274)
        at 
com.datatorrent.stram.StreamingAppMasterService.serviceStart(StreamingAppMasterService.java:636)
        at 
org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
        at 
com.datatorrent.stram.StreamingAppMaster.main(StreamingAppMaster.java:103)
2017-06-16 07:46:48,530 ERROR com.datatorrent.stram.StreamingAppMasterService: 
Webapps failed to start. Ignoring for now:
org.apache.hadoop.yarn.webapp.WebAppException: Error starting http server
        at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:279)
        at 
com.datatorrent.stram.StreamingAppMasterService.serviceStart(StreamingAppMasterService.java:636)
        at 
org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
        at 
com.datatorrent.stram.StreamingAppMaster.main(StreamingAppMaster.java:103)
Caused by: java.io.IOException: !JsseListener: java.lang.NullPointerException
        at 
org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:531)
        at 
org.apache.hadoop.security.ssl.SslSocketConnectorSecure.newServerSocket(SslSocketConnectorSecure.java:46)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at 
org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:953)
        at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:894)
        at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:274)

Debugging deeper, this is because the SSL credentials don't get passed on to 
the underlying jetty subsystem that is being used by hadoop for the web server 
functionality. These credentials were configured in CDH and are being used by 
the hadoop web services without any problem.

The workaround to get past this and get the application running is to pass the 
credentials explicitly when launching the application by specifying the 
following attribute 

dt.attr.CONTAINER_JVM_OPTIONS : -Djetty.ssl.keypassword=<keypassword> 
-Djetty.ssl.password=<keystorepassword>



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to