Spark On Yarn集群搭建

Spark 客户端可以直接连接 Yarn,不需要额外构建Spark集群。
有 client 和 cluster 两种模式,主要区别在于:Driver 程序的运行节点不同。

  • client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出
  • cluster:Driver程序运行在由 RM(ResourceManager)启动的 AM(AplicationMaster)上, 适用于生产环境。

Spark官网Yarn模式安装使用链接

需要环境:Hadoop-YRAN环境(Hadoop分布式环境搭建教程)

确保HADOOP_CONF_DIRYARN_CONF_DIR指向包含Hadoop集群的(客户端)配置文件的目录。这些配置用于写入HDFS并连接到YARN ResourceManager。此目录中包含的配置将分发到YARN群集,以便应用程序使用的所有容器都使用相同的配置。如果配置引用不是由YARN管理的Java系统属性或环境变量,则还应该在Spark应用程序的配置(在客户端模式下运行时的驱动程序,执行程序和AM)中进行设置。

  • 修改spark-evn.sh文件
    HADOOP_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop

有两种部署模式可用于在YARN上启动Spark应用程序。在cluster模式下,Spark驱动程序在由YARN在群集上管理的应用程序主进程中运行,并且客户端可以在启动应用程序后消失。在client模式下,驱动程序在客户端进程中运行,而应用程序主控仅用于从YARN请求资源。

与Spark支持的其他集群管理器(在–master 参数中指定了主服务器的地址)不同,在YARN模式下,ResourceManager的地址是从Hadoop配置中提取的。因此,--master参数为yarn

要以cluster模式启动Spark应用程序:

./bin/spark-submit \
--class path.to.your.Class \
--master yarn \
--deploy-mode cluster \
[options] <app jar> [app options]

例如:

./bin/spark-submit --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode cluster \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    --queue thequeue \
    examples/jars/spark-examples*.jar \
    10

上面启动了一个YARN客户端程序,该程序启动了默认的Application Master。然后,SparkPi将作为Application Master的子线程运行。客户端将定期轮询Application Master以获取状态更新,并将其显示在控制台中。应用程序完成运行后,客户端将退出。请参阅下面的“调试应用程序”部分,以了解如何查看驱动程序和执行程序日志。

要以client模式启动Spark应用程序,请执行相同的操作,但替换cluster为client。下面显示了如何spark-shell在client模式下运行:

 ./bin/spark-shell --master yarn --deploy-mode client
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值