deepAgrawal
deepAgrawal

Reputation: 743

H2o Crashes when trying to run multiple instances on linux server

I am using H2o in R on linux server and when multiple users try to use H2o it crashes with errors similar to this. Can we use multiple instances of h2o? If not, is there a workaround which will not start H2o if an instance is already running?

Would this crash still happen if we start one instance from R and another instance from python?

 ERROR: Unexpected HTTP Status code: 500 Server Error (url = http://localhost:54321/3/ModelBuilders/word2vec)



java.lang.NullPointerException
[1] "java.lang.NullPointerException"                                                                              
 [2] "    hex.word2vec.Word2Vec.init(Word2Vec.java:38)"                                                            
 [3] "    water.api.ModelBuilderHandler.handle(ModelBuilderHandler.java:60)"                                       
 [4] "    water.api.ModelBuilderHandler.handle(ModelBuilderHandler.java:17)"                                       
 [5] "    water.api.RequestServer.serve(RequestServer.java:448)"                                                   
 [6] "    water.api.RequestServer.doGeneric(RequestServer.java:297)"                                               
 [7] "    water.api.RequestServer.doPost(RequestServer.java:223)"                                                  
 [8] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:755)"                                            
 [9] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:848)"                                            
[10] "    org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)"                                  
[11] "    org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)"                              
[12] "    org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)"                      
[13] "    org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)"                               
[14] "    org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)"                       
[15] "    org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)"                           
[16] "    org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)"                   
[17] "    org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)"                         
[18] "    water.JettyHTTPD$LoginHandler.handle(JettyHTTPD.java:183)"                                               
[19] "    org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)"                   
[20] "    org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)"                         
[21] "    org.eclipse.jetty.server.Server.handle(Server.java:370)"                                                 
[22] "    org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)"          
[23] "    org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)"           
[24] "    org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)"                
[25] "    org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)"
[26] "    org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)"                                        
[27] "    org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)"                                   
[28] "    org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)"                  
[29] "    org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)"            
[30] "    org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)"                        
[31] "    org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)"                         
[32] "    java.lang.Thread.run(Thread.java:748)"                                                                   

Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page,  : 


ERROR MESSAGE:

Caught exception: java.lang.NullPointerException

Upvotes: 2

Views: 386

Answers (1)

Erin LeDell
Erin LeDell

Reputation: 8819

Yes, the recommended thing to do is use multiple instances of H2O (one for each user). All you need to do is specify a different port when you start H2O for each user. The default port for H2O is 54321, so the second user should use something different.

Here's how to specify a non-default port when you start an H2O cluster from R using h2o.init():

 h2o.init(port = 22222)

Upvotes: 3

Related Questions