2017-07-29 29 views
1

我已阅读了很多有关解决这类问题的方法,设置yarn.scheduler.maximum-allocation-mb,我已将其设置为2GB,因为我当前正在运行select count(*) from <table>一个沉重的计算,我猜。但是Required AM memory (471859200+47185920 MB)应该是什么意思?其他问题说约(1024+2048)或类似的问题。 我在一台机器上设置,即我的台式机有4GB内存和2个内核。这是非常低的规格运行Spark作为Hive执行引擎吗? 目前我正在从Java这个工作,我的设置是这不正常吗?所需的AM内存(471859200 + 47185920 MB)高于最大阈值(2048 MB)

Connection connect = DriverManager.getConnection("jdbc:hive2://saurab:10000/default", "hiveuser", "hivepassword"); 
Statement state = connect.createStatement(); 
state.execute("SET hive.execution.engine=spark"); 
state.execute("SET spark.executor.memory=1g"); 
state.execute("SET spark.yarn.executor.memoryOverhead=512m"); 

yarn-site.xml

<property> 
<name>yarn.nodemanager.resource.memory-mb</name> 
<value>3g</value> 
</property> 

和一个简单的查询

String query = "select count(*) from sales_txt"; 
ResultSet res = state.executeQuery(query); 
if (res.next()) { 
     System.out.println(res.getString()); 
    } 

而且那两个内存数(A + B )?

回答

-1

AM代表Application Master用于在纱线上运行Spark。在这里很好的解释: https://jaceklaskowski.gitbooks.io/mastering-apache-spark/yarn/spark-yarn-applicationmaster.html

目前尚不清楚为什么你需要你的单台机器上运行的纱线测试了这一点。您可以在独立模式下运行此功能以消除纱线开销,并测试您的火花应用程序代码。 https://spark.apache.org/docs/latest/

spark.*.memoryspark.yarn.executor.memoryOverhead需要在部署应用火花要设置。他们不能在这些陈述中设置。

相关问题