• spark 集群搭建


    1. 解压spark安装包, 重命名(版本使用: hadoop-2.7.1.tar.gz   +   spark-2.3.0-bin-hadoop2.7.tgz)
    2. 进入  /home/spark/spark-2.2.0/conf  目录
    3. cp slaves.template slaves

    4. vim slaves

      将结尾的 localhost(伪分布式) 修改成自己的work节点, 比如 hadoop2 hadoop3(每行一条), 保存退出

    5. cp spark-env.sh.template spark-env.sh vim spark-env.sh 添加:

      export JAVA_HOME=/usr/java/jdk1.8.0_11
      export SPARK_MASTER_IP=hadoop1
      export SPARK_MASTER_HOST=hadoop1
      export SPARK_MASTER_PORT=7077
      export SPARK_WORKER_CORES=2   每个Worker进程管理2个core

      export SPARK_WORKER_MEMORY=2G  每个Worker进程管理2g内存

      # 想要spark运行在yarn上, 需要增加如下配置(每个节点机器上的spark都需要进行配置)

      export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.7.1/etc/hadoop    

      如果需要修改 ssh 端口号,  加入如下:

      export SPARK_SSH_OPTS="-p 2222"

      如果出现安全模式错误,  执行  hdfs dfsadmin -safemode leave,  离开安全模式

    6. scp -r spark-2.2.0 root@hadoop3:/home/spark   将spark整体拷贝到其他节点机器上

    7. 在 master 节点机器上, 进入spark下的sbin 目录中执行 ./start-all.sh 各个节点上执行: jps
      master节点上出现 Master 进程
      slave 节点上出现 Worker 进程

    8. 8080端口为spark 的 web 监控端口, 7070为spark 的 数据传输端口
    9. http://hadoop1:8080 可以看到spark管理界面
    10. spark在 Standalone 上运行分为俩种模式
      1.client (适合测试)
        Driver 进程是在客户端启动的
        Driver 的作用是:
          分发任务
          回收 task 计算结果
          回收 task 执行情况
          心跳
        可以在提交应用程序的客户端上监控task的执行情况
        适用场景: 调试/测试环境(应为会占用网卡流量)
        执行命令:
        1>
    --total-executor-cores 3 表示适用多少个core 来执行, 不指定默认是配置文件总的所有的core
         2> 1000 表示启动多少个线程来执行这个任务
    ./spark-submit --master spark://hadoop1:7077 --total-executor-cores 3 
      --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.0.jar 1000

      2.cluster
        Driver 进程是在集群某一台 Worker 上启动的,
        无法查看 task 的启动执行情况
        适用场景: 生产环境
      执行命令 :
        
    --deploy-mode cluster 指定执行模式, 默认为 client模式
    ./spark-submit --master spark://hadoop1:7077 --deploy-mode cluster 
      --total-executor-cores 3 --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.0.jar 1000
      查看结果:   浏览器中:  http://hadoop1:8080 ----->找到 Completed Drivers (2)(已经完成的Driver) ----->   点击Worker中的链接   ----->
             找到
    Finished Drivers (1) ------> 找到后面对应的 stdout 就可以看到执行情况和结果
     
     执行python 脚本
        ./spark-submit --master spark://hadoop1:7077 /data/UserCountStatistical.py 10

    修改 spark 中 ssh 链接端口 vi spark-env.sh
      export SPARK_SSH_OPTS="-p 16022"
      
  • 相关阅读:
    source insight快捷键及使用技巧
    HTTP 状态码
    select poll epoll三者之间的比较
    服务器程序后台化以及守护进程的编写规范
    Linux 信号表
    Linux下有线无线网络配置------命令模式
    浅谈 qmake 之 pro、pri、prf、prl文件
    Python VUE 基础知识
    VUE 实现tab切换页面效果
    爬虫框架:scrapy
  • 原文地址:https://www.cnblogs.com/redhat0019/p/8797044.html
Copyright © 2020-2023  润新知