集群启动脚本通过脚本启动 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 在集群上使用的核心数量 |
和Hadoop同时运行Spark 作为一个独立的服务,可以和现有的Hadoop集群同时运行。 通过hdfs:// URL,Spark可以访问hadoop集群的HDFS上的数据。(比如地址可以写成hdfs://<namenode>:9000/path,从Namenode的web UI可以获得更确切的URL).或者,专门为Spark搭建一个集群,通过网络访问其他HDFS上的数据,这样肯定不如访问本地数据速度快,除非是都在同一个局域网内。(比如几台Spark机器和Hadoop集群在同一机架上)。
http://blog.csdn.net/zajin/article/details/12781097 |