2017-07-29 54 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需要在部署應用火花要設置。他們不能在這些陳述中設置。

相關問題