Spark1

  1. 安装部署
    1,下载spark,上传到/export/software/spark-3.2.3-bin-hadoop3.2-scala2.13.tgz
    2,解压缩tar -zxvf spark-3.2.3-bin-hadoop3.2-scala2.13.tgz -C /export/server
    3,cd /export/server,修改目录名称 mv spark-3.2.3-bin-hadoop3.2-scala2.13/ spark
    
    4,修改配置文件,cd /export/server/spark/conf, cp spark-env.sh.template spark-env.sh
       vim spark-env.sh  在该文件后面添加:
       #配置java环境变量
       export JAVA_HOME=/export/server/jdk1.8.0_241
       #指定master的ip
       export SPARK_MASTER_HOST=node1
       #指定master的端口
       export SPARK_MASTER_PORT=7077
    5,复制 workers    cp workers.template  workers
       编辑workers,添加从节点ip
       node2
       node3
       
    6,分发spark文件到其他节点
       scp -r /export/server/spark  node2:/export/server
       scp -r /export/server/spark  node3:/export/server
    7,启动spark集群
       先启动hadoop,start-all.sh
       再启动spark,sbin/start-all.sh
    
    ----------------------------------------
    
    Spark HA集群部署(先要安装zookeeper)
    1,修改spark-env.sh
       export JAVA_HOME=/export/server/jdk1.8.0_241
        #export SPARK_MASTER_HOST=node1
        export SPARK_MASTER_PORT=7077
        SPARK_MASTER_WEBUI_PORT=8989
        export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER
        -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181
        -Dspark.deploy.zookeeper.dir=/spark"
       分发spark-env.sh 进入spark/conf文件夹
       scp spark-env.sh node02:/export/server/spark/conf
       scp spark-env.sh node03:/export/server/spark/conf
    
    2,先启动hadoop,依次启动zookeeper
        zkServer.sh start
    3,在node1上启动spark集群
        sbin/start-all.sh
    4,在node2上单独启动master节点
        sbin/start-master.sh
    5,在node01上关闭master进程
        sbin/stop-master.sh
    查看: http://node1:8989,http://node2:8989

    启动spark为了与Hadoop区分在sbin目录下的脚本启动  要启动需要进去spark文件夹,否则会找不到目录 localhost是本机IP地址

  2. 出现单点故障怎么办zookepper

     选举 黑帮教父

  3. spark运行架构和原理

     

     实训是一个job,每天都有task,一周一个stage

  4. 运行基本流程

     由驱动器构建上下文,将项目划分为一个一个任务交给workernode

  5. 简述

     管理界面访问node1:8080

  6. 交互式解释器  shell命令

     

     运行模式目前有两种,一种是local 后面参数是工作线程数 一种是单例模式

     

  7. Linux快速移动·光标到行首Ctrl A 移动到行莫Ctrl E 你不同于vim编辑器home end

    scala> sc.textFile("file:///node1/usr/1.test").fat  不用加节点名默认是本地文件

  8. 记录踩大坑

     

     jdk版本过高 改成1,。8即可   如果下载了新的jdk其实什么都没有需要按照提示重新下载

  9. 打包上传

     后面两个参数十分关键  倒数第二个是要处理的HDFS文件,倒数第一是要输出的文件目录 该目录必须是完成时新建的 这个参数就是arg0 1

  10. 几个需要注意的点
    bin/spark-submit \
    --class nk.WordPlus   \
    --master spark://node1:7077  \
    --executor-memory 1G  \
    --total-executor-cores 1  \
    /export/data/words-1.0-SNAPSHOT.jar  hdfs://node1/input/1.txt  hdfs://node1/worlf/www

    一个jar包中大多数情况下不止一个Scala伴生对象 这是用全限定类名就可以了区分  jar包要上传到Linux环境中

posted @ 2023-07-18 20:23  SunShine789  阅读(15)  评论(0)    收藏  举报