是否可以将spark和hadoop分别部署在两个不同的物理主机集群上?
即spark部署在一堆硬盘很小,但是内存很大的物理主机上主机名spark1-n。hadoop部署在另外一堆硬盘比较大,内存一般的主机上,主机名hadoop1-n。spark部署好后默认远程访问这个hadoop集群,变成一个独立的spark计算集群,hadoop只是它计算数据的来源和数据结果的存放地,从物理机层面就是分离的。不过所有主机在同一个机房中,网络通信速度不存在问题。
主要想达到spark不与原有hadoop集群的hive争抢内存,还能发挥计算优势的目的。请问是否可以这样部署,具体应该注意哪些细节,spark配置时应该注意哪些部分。

解决方案 »

  1.   

    涉及到spark计算时使用hadoop集群的数据的时候,会涉及到大量的服务器之间的数据传输,变相延长处理时间;至于spark和hive竞争内存,可以配置spark的slaves时,去掉hive所在的节点就可以了.. 另外spark计算时如果涉及大量数据时,内存不够用,数据也会临时缓存到磁盘上的,所以磁盘小 也不太合适..
      

  2.   

    如果将spark 托管给yarn时,可以配置每个节点执行spark任务时最大的内存使用空间,不见得会强占服务器上的所有内存,如果可以的话也可以使用docker容器模式.
      

  3.   

    可以将spark和hadoop分别部署在两个不同的物理主机集群上,实测 www.jiaoyidao.net 
      

  4.   

    可以这样部署完全没问题,我现在就是这么部署的。你的spark任务应该不是托管给yarn吧。