关闭

spark 集群

260人阅读 评论(0) 收藏 举报

1. spark 可以有三种安装部署模式 ,mesos 集群 yarn 集群 或者 standalone 模式

2. spark 的部署模式有两种 client模式(默认)和cluster模式

   client模式是driver直接在spark-submit进程中启动,将本地作为外部客户端

   cluster模式 是在worker节点部署你的driver, 如果你的机器跟cluster集群距离较远,通常情况下用cluster模式减少drivers和executors的网络延迟。cluster模式目前不支持独立集群(standalone)、 mesos集群以及python应用程序。

client模式中,driver启动进程与 客户端提交应用程序所在的进程是同一个进程。然而,在cluster模式中,driver在集群的某个worker进程中启动,只有客户端进程完成了提交任务,它不会等到应用程序完成就会退出。


3. --master的参数

Master URL Meaning
local 用一个worker线程本地运行Spark
local[K] 用k个worker线程本地运行Spark(理想情况下,设置这个值为你的机器的核数)
local 用尽可能多的worker线程本地运行Spark
spark://HOST:PORT 连接到给定的Spark独立部署集群master。端口必须是master配置的端口,默认是7077
mesos://HOST:PORT 连接到给定的mesos集群
yarn-client 以client模式连接到Yarn集群。群集位置将基于通过HADOOP_CONF_DIR变量找到
yarn-cluster 以cluster模式连接到Yarn集群。群集位置将基于通过HADOOP_CONF_DIR变量找到

集群启动脚本

为了用启动脚本启动Spark独立集群,你应该在你的Spark目录下建立一个名为conf/slaves的文件,这个文件必须包含所有你要启动的Spark worker所在机器的主机名,一行一个。如果 conf/slaves不存在,启动脚本默认为单个机器(localhost),这台机器对于测试是有用的。注意,master机器通过ssh访问所有的worker。在默认情况下,SSH是并行运行,需要设置无密码(采用私有密钥)的访问。 如果你没有设置为无密码访问,你可以设置环境变量SPARK_SSH_FOREGROUND,为每个worker提供密码。

一旦你设置了这个文件,你就可以通过下面的shell脚本启动或者停止你的集群。
  • sbin/start-master.sh:在机器上启动一个master实例
  • sbin/start-slaves.sh:在每台机器上启动一个slave实例
  • sbin/start-all.sh:同时启动一个master实例和所有slave实例
  • sbin/stop-master.sh:停止master实例
  • sbin/stop-slaves.sh:停止所有slave实例
  • sbin/stop-all.sh:停止master实例和所有slave实例
注意,这些脚本必须在你的Spark master运行的机器上执行,而不是在你的本地机器上面。

http://blog.csdn.net/ichsonx/article/details/44594567





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:67286次
    • 积分:1679
    • 等级:
    • 排名:千里之外
    • 原创:77篇
    • 转载:40篇
    • 译文:0篇
    • 评论:23条
    最新评论