如何制作火花星团?

时间:2015-04-19 22:22:32

标签: apache-spark

我的大型物理机有16个CPU,256 GB RAM,20 TB硬盘。我只需要知道制作火花星团的最佳解决方案是什么?

如果我需要处理TB数据 1.只有一台机器,包含驱动程序,执行程序,作业跟踪器和任务跟踪器。 2.创建4个VM,每个VM应包含4个CPU,64 GB RAM 3.创建8个VM,每个VM应包含2个CPU,每个32 GB RAM

请给我你的意见/建议

3 个答案:

答案 0 :(得分:1)

Udemy老师Frank Kane在his tutorial上说,选项1更好。为了模拟集群,在一台机器上设置VM是没有意义的。当您设置SparkConf时,可以使用setMaster("local[*]")让它利用笔记本电脑上的所有核心并自动分配工作,就像在群集上一样。

答案 1 :(得分:0)

选项1是您的最佳选择。如果您开始创建VM,那么由于并行执行的结果合并,将会出现网络开销。此外,根据您提供的规格,您似乎将在同一台计算机上创建VM。因此,由于VM,这也会增加额外的开销。此外,x vms表示RAM中的x OS内核,而后者可以由spark worker使用。除了spark,您还可以检测机器上的核心并自行并行化操作。

答案 2 :(得分:0)

如果您只有一台机器可以获得最佳性能,请使用本地群集。 将主设置为" local[numthreads]"设置最适合您工作的线程数。

您可以在本地模式下启动火花,即在代码中设置conf.setMaster("local[numthreads]")

在提交作业时使用--master local[numthreads]

如果您开始创建虚拟机,则会出现网络开销,CPU和RAM浪费