除了在 Mesos 或 YARN 集群上运行之外, Spark 还提供一个简单的独立部署的模块。你通过手动开始master和workers 来启动一个独立的集群。你也可以利用我们提供的脚本 .它也可以运行这些进程在单个机器上进行测试。 安装 Spark 独立集群部署Spark最简单的方法就是运行./make-distribution.sh 脚本来创建一个2进制发行版.这个版本能部署在任意运行这Java的机子上,不需要安装 Scala. 建议的步棸是先在一个节点部署并启动master,获得 master spark URL,在dist/这个目录下修改conf/spark-env.sh然后再部署到其他的节点上。 |
集群启动脚本通过脚本启动 Spark独立集群时, 需要在Spark 目录下创建一个文件 conf/slaves, 列出所有启动的的Spark workers的主机名,每行一条记录. Master必须能够实现通过ssh(使用私钥)访问worker机器,可以使用ssh localhost来测试。 一旦你建立了这个档案,你可以通过以下脚本停止或启动集群, 这些脚本基于 Hadoop’s 部署脚本, 在SPARK_HOME/bin目录:
|
注意:只能在运行Spark的master主机上执行上述脚本,而不是你的本地机器。 你可以通过conf/spark-env.sh进一步配置整个集群的环境变量。这个文件可以用conf/spark-env.sh.template当模版复制生成。然后,复制到所有的worker机器上才奏效。下面给出一些可选的参数以及含义:
注意: 启动脚本目前不支持Windows。要运行一个Spark 集群在Windows上,手动启动master 和 workers |
集群连接应用程序在Spark 集群上运行一个应用,只需通过master的 spark://IP:PORT 链接传递到SparkContext构造器 在集群上运行交互式的Spark 命令, 运行如下命令: MASTER=spark://IP:PORT ./spark-shell 注意,如果你在一个 spark集群上运行了spark-shell脚本,spark-shell 将通过在conf/spark-env.sh下的SPARK_MASTER_IP和SPARK_MASTER_PORT自动设置MASTER . 你也可以传递一个参数-c <numCores> 来控制 spark-shell 在集群上使用的核心数量 |