ambari server内存溢出
抛出的异常信息如下:
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
at org.apache.hive.service.cli.thrift.TStatus.<clinit>(TStatus.java:136)
at org.apache.hive.service.cli.thrift.TOpenSessionResp$TOpenSessionRespStandardScheme.read(TOpenSessionResp.java:626)
at org.apache.hive.service.cli.thrift.TOpenSessionResp$TOpenSessionRespStandardScheme.read(TOpenSessionResp.java:612)
at org.apache.hive.service.cli.thrift.TOpenSessionResp.read(TOpenSessionResp.java:520)
at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_result$OpenSession_resultStandardScheme.read(TCLIService.java:2281)
at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_result$OpenSession_resultStandardScheme.read(TCLIService.java:2266)
at org.apache.hive.service.cli.thrift.TCLIService$OpenSession_result.read(TCLIService.java:2213)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
at org.apache.hive.service.cli.thrift.TCLIService$Client.recv_OpenSession(TCLIService.java:156)
at org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCLIService.java:143)
at org.apache.ambari.view.hive.client.Connection$2.body(Connection.java:480)
at org.apache.ambari.view.hive.client.Connection$2.body(Connection.java:475)
at org.apache.ambari.view.hive.client.HiveCall.call(HiveCall.java:62)
at org.apache.ambari.view.hive.client.Connection.openSession(Connection.java:475)
at org.apache.ambari.view.hive.client.Connection.getOrCreateSessionByTag(Connection.java:517)
at org.apache.ambari.view.hive.resources.browser.HiveBrowserService.databases(HiveBrowserService.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
解决办法:
1. On the Ambari Server host, edit the ambari-env.sh file:
vi /var/lib/ambari-server/ambari-env.sh
2. For the AMBARI_JVM_ARGS variable, replace the default -Xmx2048m with the
following:
-Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=256m
3. Restart Ambari Server for this change to take effect.
ambari-server restart