Spark-运行模式

2020-07-06  本文已影响0人  布莱安托

Local模式

Local模式就是运行在一台计算机上的模式,通常用于在本地机器联系和测试,它可以通过如下方式设置Master:

  1. local
    所有计算都运行在一个线程中,没有并行计算。
  2. local[K]
    指定使用几个线程来运行计算,比如local[4]就是运行四个Worker线程。
  3. local[*]
    按照CPU核心数设置线程

提交任务时指定--master参数为:locallocal[K]local[*]

Standalone模式

构建一个由Master+Slave构成的Spark集群,Spark运行在集群中。

  1. 环境配置
    1. 修改slave配置
    cd spark/conf/
    mv slave.template slave
    vi slave
    # 添加Spark集群节点地址
    
    1. 修改spark-env.sh配置
    cd spark/conf/
    mv spark-env.sh.template spark-env.sh
    vi spark-env.sh
    # 添加如下配置
    # 1. 配置jdk路径
    # export JAVA_HOME=<JAVA_HOME>
    # 2. 配置Spark集群Master地址、端口
    # SPARK_MASTER_HOST=<SPARK_MASTER_HOST>
    # SPARK_MASTER_PORT=<SPARK_MASTER_PORT>
    
    1. 分发spark文件
    xsync spark/
    
    1. 启动集群
    cd spark/
    sbin/start-all.sh
    
    1. 查看集群启动情况
    xcall jps
    # 看到结果
    # 主节点有两个进程:Master,Worker
    # 子节点有一个进程:Worker
    # 表示启动成功
    
  2. 提交任务
    提交任务时指定--master参数为:spark://<SPARK_MASTER_HOST:<SPARK_MASTER_PORT>

Yarn模式

Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-clusteryarn-client两种模式,主要区别在于Driver程序的运行节点:
yarn-cluster模式:Driver程序运行在客户端,可以立刻看到应用的输出,适用于交互、调试
yarn-cluster模式:Driver程序运行在由ResourceManager启动的ApplicationMaster,适用于生产环境

  1. 环境配置
    1. 修改hadoop配置文件yarn-site.xml
    <!--添加如下内容-->
    <!--是否启动一个线程检查任务正在使用的物理内存量,如果超出分配值,则直接杀掉任务,默认值是true-->
    <property>
        <name>yarn,nodemanager.pmem-check-enabkled</name>
        <value>false</value>
    </property>
    <!--是否启动一个线程检查任务正在使用的虚拟内存量,如果超出分配值,则直接杀掉任务,默认值是true-->
    <property>
        <name>yarn,nodemanager.vmem-check-enabkled</name>
        <value>false</value>
    </property>
    
    1. 修改spark-env.sh配置
    cd spark/conf/
    vi spark-env.sh
    # 添加如下内容
    YARN_CONF_DIR=<YARN_CONF_DIR>
    
    1. 分发配置文件
    xsync hadoop/etc/yarn-site.xml
    xsync spark-env.sh
    
  2. 提交任务
    提交任务时指定--master参数为:yarn
    使用yarn-cluster模式指定--deploy-modecluster,使用yarn-client模式指定--deploy-modeclient
上一篇下一篇

猜你喜欢

热点阅读