问题
上头执行程序SparkUI标签显示内存比节点上实际可用少:
因果
显示内存总量小于集群内存量,因为内核和节点级服务占用了某些内存量
求解
计算可用内存量时,可使用执行器内存分配公式全模度* 0.97-4800MB中写 :
- 0.97内核管理记账
- 4800MB内部节点级服务账户
- 0.8是一个启发性概念,以确保运行spark过程的LXC容器不因模拟错误崩溃
完全可用存储实例8192MB* 0.97-4800MB=1.2GB因为参数spark.memory.fraction默认0.6约1.2*0.6~710MB可供存储
你可以改变spark.memory.fractionspark配置AWS系统|休眠)调整此参数计算新参数可用内存如下:
- 使用有8192MB内存实例时,它可用内存1.2GB
- if you express aspark.memory.fraction0.8中执行程序SparkUI标签应显示1.2*0.8GB=~960MB