当前位置: 首页 > 知识库问答 >
问题:

Google Cloud数据过程配置问题

东方俊明
2023-03-14

我在运行的一些Spark LDA主题建模中遇到了各种问题(主要是随机间隔的非关联错误),我认为这主要与执行器的内存分配不足有关。这似乎与有问题的自动集群配置有关。我的最新尝试使用N1标准--8台机器(8个核心,30GB RAM)用于主节点和辅助节点(6个辅助节点,所以总共48个核心)。

spark.master yarn-client
spark.eventLog.enabled true
spark.eventLog.dir hdfs://cluster-3-m/user/spark/eventlog

# Dynamic allocation on YARN
spark.dynamicAllocation.enabled true
spark.dynamicAllocation.minExecutors 1
spark.dynamicAllocation.initialExecutors 100000
spark.dynamicAllocation.maxExecutors 100000
spark.shuffle.service.enabled true
spark.scheduler.minRegisteredResourcesRatio 0.0

spark.yarn.historyServer.address cluster-3-m:18080
spark.history.fs.logDirectory hdfs://cluster-3-m/user/spark/eventlog

spark.executor.cores 4
spark.executor.memory 9310m
spark.yarn.executor.memoryOverhead 930

# Overkill
spark.yarn.am.memory 9310m
spark.yarn.am.memoryOverhead 930

spark.driver.memory 7556m
spark.driver.maxResultSize 3778m
spark.akka.frameSize 512

# Add ALPN for Bigtable
spark.driver.extraJavaOptions -Xbootclasspath/p:/usr/local/share/google/alpn/alpn-boot-8.1.3.v20150130.jar
spark.executor.extraJavaOptions -Xbootclasspath/p:/usr/local/share/google/alpn/alpn-boot-8.1.3.v20150130.jar
spark-shell --conf spark.executor.cores=8 --conf spark.executor.memory=24g
java.lang.IllegalArgumentException: Required executor memory (24576+930 MB) is above the max threshold (22528 MB) of this cluster! Please increase the value of 'yarn.scheduler.maximum-allocation-mb'.

是我在这里做错了什么,还是这是谷歌的自动配置出了问题?

共有1个答案

龚俊捷
2023-03-14

在主计算机类型不同于辅助计算机类型的集群中,默认内存配置存在一些已知的问题,尽管在您的情况下,这似乎不是主要问题。

当您看到以下内容时:

spark.executor.cores 4
spark.executor.memory 9310m

这实际上意味着每个工作节点将运行2个执行器,并且每个执行器将使用4个核,使得所有8个核确实在每个工作节点上用完。这样,如果我们给AppMaster一台机器的一半,则AppMaster可以成功地打包到执行器旁边。

  1. 使用n1-highmem-*计算机类型
  2. 尝试减少spark.executor.cores,同时保持spark.executor.memory不变
  3. 尝试增加spark.executor.memory,同时保持spark.executor.cores不变

如果您执行了上面的(2)或(3),那么与试图占用所有内核的默认配置相比,您确实会让内核处于空闲状态,但这实际上是除了使用highmem实例之外获得每个任务更多内存的唯一方法

 类似资料:
  • 应用程序显示过期数据,是缓存配置出问题了吗?

  • 我明白了。错误和不理解缺少的部分。 在nod和chromedriver上安装了chromehttps://github.com/SeleniumHQ/selenium/wiki/ChromeDriver 用Chrome驱动程序测试 消息:测试方法SeleniumGridSimkeTest.单元测试1.引发异常:System.无效操作异常:无法创建新服务: ChromeDriverService构建

  • 我们有配置了FreeIPA的HDP-2.2集群。但当我们试图通过knox访问HiveJDBC时,我们面临着一个问题。以下是我们正在使用的JDBC URI: jdbc: hive2://xxxxxxxxx: 8443/; ssl=true; sslTrustStore=/var/lib/Knox/data/Security/keystore/gateway.jks; Trust StorePassw

  • 我正在尝试使用Spring数据的审核功能(与Spring Boot和Spring数据Rest结合使用),但审核字段没有设置在save上。所有保存操作都会导致试图保存空“创建人”的约束异常 根据spring数据文档,我应该能够在实体上放置适当的审计注释(@CreatedDate/etc),并制作一个AuditorAware 我的问题是: 1)我是否有必要创建一个AuditingEntityListe

  • 我得到以下错误:- 2019-06-27 16:34:39.804警告14556---[main]O.S.B.A.orm.jpa.databaseLookup:无法从数据源中确定jdbc url metadataAccessException:无法获得提取元数据的连接;嵌套异常为org.springframework.JDBC.canNotgetJDBCConnectionException:未能

  • 希望有人能帮我。我正在用mongo处理一个spring数据,但不知为什么它给了我一个运行时错误: null 我的mongo-config.xml: null 提前道谢!