当我们将 Spark 从 Standalone 切换到 Yarn-Client 时需要改变啥?
Posted
技术标签:
【中文标题】当我们将 Spark 从 Standalone 切换到 Yarn-Client 时需要改变啥?【英文标题】:What needs to be changed when we switch Spark from Standalone to Yarn-Client?当我们将 Spark 从 Standalone 切换到 Yarn-Client 时需要改变什么? 【发布时间】:2015-08-19 08:12:28 【问题描述】:目前我们有一个程序是一个网络服务,接收 SQL 查询并使用SQLContext
来响应。该程序现在处于独立模式,我们将spark.master
设置为特定的 URL。结构如下:
object SomeApp extends App
val conf = new SparkConf().setMaster("spark://10.21.173.181:7077")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
while(true)
val query = Listen_to_query()
val response = sqlContext.sql(query)
send(response)
现在我们要将系统转移到 Yarn 上的 Spark,看来我们应该使用 submit
来向 yarn 提交作业。在纱线上部署这样一个不会像普通的“工作”一样停止的“服务”会很奇怪。但我们不知道如何将“工作”与我们的程序分开。
你有什么建议吗?谢谢!
【问题讨论】:
【参考方案1】:因此,如果您只想将作业提交给 yarn,您只需更改主参数即可。但是,听起来您正在寻找一个长期运行的共享 Spark 上下文,并且有一些类似的选项。有 https://github.com/spark-jobserver/spark-jobserver 和 https://github.com/ibm-et/spark-kernel 。
【讨论】:
感谢您的回复,确实只需要更改spark.master
参数即可。在我们完成当前的程序工作后,我会观察spark-jobserver
。以上是关于当我们将 Spark 从 Standalone 切换到 Yarn-Client 时需要改变啥?的主要内容,如果未能解决你的问题,请参考以下文章
Spark Standalone如何将本地.jar文件传递给集群
Spark Standalone如何通过start-all.sh启动集群