• 【Spark学习笔记】02-Spark集群搭建


    Spark集群管理器,总有一款适合你。

    Spark运行模式有本地运行集群运行两种。在实际生产开发中,我们都会选择在集群运行,本地模式仅用于本地测试。

    Spark集群管理器:

    • Standalone模式
    • Yarn
    • K8s
    • Mesos

    本文记录前三种集群的搭建,现在主流是Yarn,k8s是趋势,越来越火。对于Mesos,现在没听说国内有公司使用,坑先留着

    一、Standalone集群管理器

    Standalone是Spark自带的一个集群管理器,允许在同一个物理集群上运行多个Spark应用程序。

    1.集群规划

    角色 机器节点
    master node1
    worker node2,node3

    2.环境准备

    • 安装JDK,略
    • 机器免密

    3.软件安装

    解压到指定目录

    tar -zxvf spark-2.3.1-bin-hadoop2.6.tgz -C /opt 
    

    4.修改配置

    Spark集群上配置文件要完全一样,我们只需要配置好一台机器(node1),然后将配置文件远程分发到其他机器。配置文件在$SPARK_HOME/conf

    • 配置集群进程所用资源
    #拷贝一份出来
    cp spark-env.sh.template spark-env.sh 
    # 修改spark-env.sh文件
    export SPARK_MASTER_HOST=node1 
    export SPARK_MASTER_PORT=7077 
    export SPARK_WORKER_CORES=2 
    export SPARK_WORKER_MEMORY=2g 
    export JAVA_HOME=/usr/java/jdk1.8.0_221 
    

    注:JAVA_HOME配置为你机器上Java安装的真实路径

    • 配置worker节点
    # 拷贝一份出来
    cp slaves.template slaves 
    # 修改slaves文件
    node2
    node3
    
    • 远程分发,同步配置文件
    scp -r spark-2.3.1-bin-hadoop2.6 node2:`pwd` 
    scp -r spark-2.3.1-bin-hadoop2.6 node3:`pwd` 
    

    5.启动集群

    进入Spark目录sbin目录下

    ./start-all.sh 
    

    6.提交作业

    # 以client模式提交到standalone集群 
    spark-submit 
    --class org.apache.spark.examples.SparkPi 
    --master spark://node1:7077 
    --executor-memory 2G 
    --total-executor-cores 10 
    /opt/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar 
    100
    
    # 以cluster模式提交到standalone集群 
    spark-submit 
    --class org.apache.spark.examples.SparkPi 
    --master spark://node1:7077 
    --deploy-mode cluster 
    --supervise   # 配置此参数代表开启监督,如果主应用程序异常退出,则自动重启 Driver
    --executor-memory 2G 
    --total-executor-cores 10 
    /opt/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar 
    100
    

    二、Spark on Yarn

    Spark也可以基于Yarn进行任务调度,将Spark作业提交到Yarn上运行,此时不需要启动Master节点也不需要启动Worker节点。此时Spark只是作为client角色,将作业提交到Yarn。

    1.环境准备

    • HDFS服务安装,略
    • Yarn服务安装,略

    2.软件安装

    解压到指定目录

    tar -zxvf spark-2.3.1-bin-hadoop2.6.tgz -C /opt 
    

    3.修改配置

    在spark-env.sh中配置hadoop的配置目录的路径,可以使用HADOOP_CONF_DIR或YARN_CONF_DIR进行指定

    export HADOOP_CONF_DIR=/opt/hadoop-2.6.5/etc/hadoop
    

    4.提交作业

    必须保证HDFS和Yarn都已经启动

    #  以client模式提交到yarn集群 
    spark-submit 
    --class org.apache.spark.examples.SparkPi 
    --master yarn 
    --deploy-mode client 
    --executor-memory 2G 
    --num-executors 10 
    /opt/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar 
    100
    
    #  以cluster模式提交到yarn集群 
    spark-submit 
    --class org.apache.spark.examples.SparkPi 
    --master yarn 
    --deploy-mode cluster 
    --executor-memory 2G 
    --num-executors 10 
    /opt/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar 
    100
    

    三、Spark on Kubernetes

    待续

    四、Mesos

  • 相关阅读:
    sql
    java常见异常
    call的用法及NodeList与Array的区别
    os模块
    random模块
    time模块
    序列化模块
    模块介绍
    内置函数
    匿名函数-lambda
  • 原文地址:https://www.cnblogs.com/yangyh11/p/13547194.html
Copyright © 2020-2023  润新知