访问spark thrift服务器时出错

vqlkdk9b  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(515)

spark版本:1.6.3
我运行spark thrift服务器作为代理。但它不像我想象的那么长。它总是在高负荷时停止。
这是我访问时的错误。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /jobs/. Reason:
<pre>    Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOfRange(Arrays.java:3664)
	at java.lang.String.<init>(String.java:207)
	at java.lang.StringBuilder.toString(StringBuilder.java:407)
	at scala.collection.mutable.StringBuilder.toString(StringBuilder.scala:427)
	at scala.xml.Node.buildString(Node.scala:161)
	at scala.xml.Node.toString(Node.scala:166)
	at org.apache.spark.ui.JettyUtils$$anonfun$htmlResponderToServlet$1.apply(JettyUtils.scala:55)
	at org.apache.spark.ui.JettyUtils$$anonfun$htmlResponderToServlet$1.apply(JettyUtils.scala:55)
	at org.apache.spark.ui.JettyUtils$$anon$1.doGet(JettyUtils.scala:83)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.spark-project.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
	at org.spark-project.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1507)
	at org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.doFilter(AmIpFilter.java:179)
	at org.spark-project.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1478)
	at org.spark-project.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
	at org.spark-project.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
	at org.spark-project.jetty.servlet.ServletHandler.doScope(ServletHandler.java:427)
	at org.spark-project.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
	at org.spark-project.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.spark-project.jetty.server.handler.GzipHandler.handle(GzipHandler.java:301)
	at org.spark-project.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
	at org.spark-project.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.spark-project.jetty.server.Server.handle(Server.java:370)
	at org.spark-project.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
	at org.spark-project.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:973)
	at org.spark-project.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1035)
	at org.spark-project.jetty.http.HttpParser.parseNext(HttpParser.java:641)
	at org.spark-project.jetty.http.HttpParser.parseAvailable(HttpParser.java:231)
	at org.spark-project.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.spark-project.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
	at org.spark-project.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
</pre>
<hr /><i><small>Powered by Jetty://</small></i><br/>                                                
</body>
</html>

我看到的错误是java.lang.outofmemoryerror:java堆空间
但我不知道我需要增加什么记忆:
运行spark的服务器内存
用spark配置执行器的内存
其他内存配置。。。
更新:我的spark配置
我的spark配置

yduiuuwa

yduiuuwa1#

根据集群中的节点数,可以为spark thrift服务器(例如,在aws emr上)启动,您可以使用1个小r3.2xlarge节点

sudo /usr/lib/spark/sbin/start-thriftserver.sh --driver-memory 10g --verbose --master yarn-client --executor-memory 15g --num-executors 6 --executor-cores 2

还要确保监视或清理spark history文件夹- hdfs dfs -ls /var/log/spark/apps/ --论电子病历
如果存在多个作业,查询将被卡住 .inprogress 文件夹中的状态
有一种方法可以设置spark历史文件夹的自动清理

mwyxok5s

mwyxok5s2#

thrift服务器在自己的内存空间中运行。您可以通过executor memory属性指定。
例如

./sbin/start-thriftserver.sh --executor-memory 512m

我认为默认值是 1g ,作为 spark-env.sh 有。

相关问题