@tsing1226
2016-05-04T19:07:15.000000Z
字数 616
阅读 771
spark
标签: 存储系统 本地磁盘 内存 网络 CPU核数
由于大多数的spark job都是从HDFS或HBase中读取数据,所以我们考虑的存储系统接近该系统。主要有如下两点:
尽管Spark在内存中执行大量的操作,它仍然将不适合存储在RAM的数据存储在本地磁盘,以及保持不同阶段之间的数据联系。我们建议将每个磁盘有4-8个本地磁盘,不要配置RAID这种格式。
一般而言,Spark在8G以上甚至成百上千G内存中表现性能良好。在所有的情况下除去操作系统和高速缓存后,至少应该留给spark75%的内存。需要多少内存取决于你的应用。
在实际应用当中,很多spark应用都依赖于网络。使用10千兆位或更高的网络是使这些应用程序更快的最佳方式。
Spark能够很好地进行扩展到几十个CPU核数的每台机器,因为它执行最低限度的线程之间共享。每台机器最少配置8-16个核数。根据实际的工作负载可能需要更多的CPU,一旦数据进入内存当中,此时很多应用要么受CPU的束缚要不就受网络的束缚。