Hadoop 这不正常,对吧?所需AM内存(471859200+47185920 MB)高于最大阈值(2048 MB)

Hadoop 这不正常,对吧?所需AM内存(471859200+47185920 MB)高于最大阈值(2048 MB),hadoop,apache-spark,hive,Hadoop,Apache Spark,Hive,我读过很多关于通过设置thread.scheduler.maximum-allocation-mb来解决这类问题的书,我已经将其设置为2gb,因为我目前正在运行select count*,我想这不是一个繁重的计算。但是所需的AM内存471859200+47185920MB应该意味着什么呢?另一个问题是关于1024+2048之类的问题。 我在一台机器上进行设置,即我的桌面有4 gb ram和2个内核。作为配置单元执行引擎运行Spark的规格是否很低? 目前,我正在从java运行此作业,我的设置是

我读过很多关于通过设置thread.scheduler.maximum-allocation-mb来解决这类问题的书,我已经将其设置为2gb,因为我目前正在运行select count*,我想这不是一个繁重的计算。但是所需的AM内存471859200+47185920MB应该意味着什么呢?另一个问题是关于1024+2048之类的问题。 我在一台机器上进行设置,即我的桌面有4 gb ram和2个内核。作为配置单元执行引擎运行Spark的规格是否很低? 目前,我正在从java运行此作业,我的设置是

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");
web-site.xml


那两个记忆数字A+B是什么

AM代表在纱线上运行火花的应用程序主控程序。这里有很好的解释:

现在还不清楚为什么你需要在你的单机上运行纱线来测试这一点。您可以在独立模式下运行它,以消除纱线开销,并测试spark应用程序代码。

部署spark应用程序时,需要设置spark.*.memory和spark.Thread.executor.memoryOverhead。不能在这些语句中设置它们

<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());
     }