我在CDH 5.7.0上,我可以看到在YARN群集上运行spark 2的奇怪问题。下面是我的工作提交命令
spark2-submit --master yarn --deploy-mode cluster --conf“spark.executor.instances = 8”--conf“spark.executor.cores = 4”--conf“spark.executor.memory = 8g“--conf”spark.driver.cores = 4“--conf”spark.driver.memory = 8g“--class com.learning.Trigger learning-1.0.jar
即使我限制了我的工作可以使用的群集资源的数量,我也可以看到资源利用率超过分配的数量。
这项工作从基本的内存消耗开始,比如8G的内存,并且会让我们吃掉整个集群。
我不将动态分配设置为true。
我只是在SparkSession
之上触发INSERT OVERWRITE查询。
任何指针都会非常有用。
答案 0 :(得分:0)
我在集群中创建了资源池,并为其分配了一些资源
最少资源:4个虚拟内核和8 GB内存
使用这些池分配一个Spark作业以限制资源(VCore和内存)的使用。
例如spark2-submit --class org.apache.spark.SparkProgram.rt_app --master yarn --deploy-mode cluster --queue rt_pool_r1 /usr/local/abc/rt_app_2.11-1.0.jar
如果有人有更好的选项来存档相同文件,请告诉我们。