简介
Spark 是 Berkeley 开发的分布式计算的框架,相对于 Hadoop 来说,Spark 可以缓存中间结果到内存而提高某些需要迭代的计算场景的效率,目前收到广泛关注。
熟悉 Hadoop 的同学也不必担心,Spark 很多设计理念和用法都跟 Hadoop 保持一致和相似,并且在使用上完全兼容 HDFS。但是 Spark 的安装并不容易,依赖包括 Java、Scala、HDFS 等。
通过使用 Docker,可以快速的在本地搭建一套 Spark 环境,方便大家开发 Spark 应用,或者扩展到生产环境。
Spark 的设计理念很简单,master 节点负责接收要执行的应用和指令,worker 节点负责具体处理。
除了自带的集群机制,还兼容集成到其他的集群框架,包括 mesos、yarn 等。
安装
其实官方的源码中已经提供了支持 mesos 的 Dockerfile 文件,在 docker\spark-mesos
下面,可以据此生成 Docker 镜像。
这里,我们采用比较热门的 sequenceiq/docker-spark
镜像,这个镜像已经安装了对 Spark 的完整依赖。
无论官方还是 sequenceiq/docker-spark
镜像,都是基于提前打包的二进制文件来制作的,都可以放心使用。
由于镜像比较大(2+ GB),首先下载该镜像到本地。
$ docker pull sequenceiq/spark:1.4.0