目录
本文对应的xmind笔记文件已作为资源上传---资源下载地址
Standalone模式
模式使用场景:
It is also possible to run these daemons on a single machine for testing.
一般在开发过程中使用这个模式。
部署Standalone模式
配置spark conf目录下的slaves文件
如下图所示
cp slaves.template slaves
vi slaves
如图只在slaves文件中添加一台机器,如果有多台机器需要在相同的目录下配置安装spark,并在此处添加多台机器的IP或者主机名
配置JAVA_HOME
验证
也可以通过webUI界面查看8080端口
Hadoop Yarn模式
spark作为客户端,他需要做的事情就是提交作业到Yarn上执行
模式使用场景
绝大部分生产环境
WEB页面判断当前提交应用程序状态
端口为8088(Yarn端口)
Spark提交任务到Yarn上
spark向Yarn申请资源
应用已经申请到资源的页面展示结果
deploy mode
默认是client model
这部分详细操作可参考本人另外一篇博客,此处不做过多赘述。
cluster mode
- Driver是运行在applicationmaster端的。
- 提交完作业就可以断开,因为driver是运行在applicationMaster中的
client mode
- 提交作业的进程是不能停止的
- driver运行在本地
- 如果提交作业的进程停止,作业就挂掉
查看yarn的log日志
yarn logs -applicationId <app ID>
报错
在查验yarn的log日志时报错
解决方法:
jobhistory的配置
在spark on yarn的模式下提交任务报错
解决方法:
指定Yarn的配置文件路径或者hadoop的配置文件路径
官网对这里有提到,如下所述
Ensure that HADOOP_CONF_DIR or YARN_CONF_DIR points to the directory which contains the (client side) configuration files for the Hadoop cluster.
优化
每次提交spark作业都需要将spark目录下的lib文件进行拷贝,如何避免这个操作
解决方法:
待续...
两者的区别
yarn模式只需要一个节点,用于提交作业到yarn上运行,不需要master和worker
standalone模式的每个节点都需要部署spark,需要启动spark集群,需要启动master和worker