本地同一台计算机 Spark 群集具有哪些优势?



我在Docker中运行Apache Spark安装。多亏了 Docker Compose,我能够设置一个本地集群 - 通过示例 - 将它的一部分声明为主节点,将另一部分容器声明为工作线程或从属容器。此 Docker Compose 实例本地安装在我的计算机上,我在安装过程中以相同的本地映像为目标。所以这两个容器都在我的本地系统上成功运行。

由于我不是集群计算方面的专业人士,我不确定,但我认为 Docker Compose 可能会带来在多台计算机上设置集群的可能性 - 我认为这就是它的原因。 连接几台计算机并行计算将减少计算时间等等......

但是,在同一台本地计算机上执行群集是否有任何用处?出于其他原因,然后测试?

做某事的唯一原因几乎是模拟实际的集群进行测试和开发。虽然local模式通常用于此目的,但它的行为并不像真正的集群,并且某些问题可能很难发现。此外,与本地模式不同,它允许您模拟不同的故障场景。

说到生产,真的没有多大用处。支持的集群管理器已经提供了不错的容器化支持,并且实际上知道如何与Spark集成。

如果你想将 Spark 与容器一起使用,请查看 Spark-on-Kubernetes。从 2.3.0 开始,Spark 可以使用 Kubernetes 作为本机调度程序。Afaik,目前 Pyspark 或 R 绑定不存在,它不能在客户端模式下运行(所以你不能使用交互式 shell,也不能使用笔记本(,但我希望这些功能在未来版本的 Spark 中存在,而 Kubernetes 是容器编排的事实标准。

我不建议使用Docker Compose,但我可能很有偏见。

与此同时,我已经尝试了一些考虑小型本地Spark集群。令人惊讶的是,单个设备上的并行化优势已经为我解决了。因此,在某些情况下,速度有可衡量的提高。

最新更新