频道栏目
首页 > 资讯 > 云计算 > 正文

Spark服务启动的一些总结

17-05-09        来源:[db:作者]  
收藏   我要投稿

Spark服务启动的一些总结。

1、我理解常用的Spark部署方式有三种

1)、本地服务,就是所谓的local,在IDE上本地跑程序,用于调试

2)、Standalone,使用自己的master/worker进行服务的调度。 脱离yarn的资源管理

3)、Spark on yarn。 使用yarn来进行资源的调度

2、在spark-env.sh中配置export HADOOP_CONF_DIR= ,这样就可以使用hdfs了。

3、提交应用使用bin/spark-submit,通过指定master来确定是使用什么模式,即spark:// yarn-cluster yarn-client。如果使用的spark://,那么代表就是standalone模式,那么就需要sbin/start-all.sh启动一下spark集群进行资源调度。

4、使用bin/spark-shell来进行本地交互式查询。 但使用spark-shell貌似最好在standalone模式下进行

5、最终执行进程是Executor,它的资源使用在submit时指定–executor-cores,–executor-memory,–num-executors,如果没有指定,那么就会读取spark-env.sh配置文件中的SPARK_EXECUTOR_CORES,SPARK_EXECUTOR_MEMORY

6、在yarn模式下Executor进程名叫做CoarseGrainedExecutorBackend,在standalone模式下,Executor进程名叫做CoarseGrainedExecutorBackend。 (。。。我一直以为进程名称不一样呢,原来是一样的。 好吧,我是出来搞笑的)

7、yarn-client,yarn-cluster区别在于driver的位置。 所谓driver是指定你的运行代码。 client模式下,你的client就是在你在客户端中。 cluster模式下,似乎应该是在ApplicationMaster中,它出现的位置是随机的。

形象的举个例子就清楚了,如果你在你的执行代码中输出了日志,那么在client模式下是可以看到日志的,但在cluster模式下是不太容易看到日志输出的,如果想要看到, 那么需要去yarn的webui看。或者执行命令yarn application -logs xxxxxxxxxxxxx(如果我没有记错的话) 。

个人使用经历来看,如果是使用spark streaming ,那么用client感觉个人会好一些。

后续会读源代码,在源代码中了解一下client 和 cluster使用的区别,才能确定哪个应用场景会更好些。

相关TAG标签
上一篇:redis学习教程之一基本命令
下一篇:CentOS安装MySQL5.7
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站