[DB] Spark--Spark Core

生态

  • Spark Core:最重要,其中最重要的是RDD(弹性分布式数据集)
  • Spark sql
  • Spark Streaming
  • Spark MLLib:机器学习算法
  • Spark Graphx:图计算

特点

  • 针对大规模数据处理的快速通用引擎
  • 基于内存计算
  • 速度快,易用,兼容性强

体系架构

  • 主节点:Cluster Manager(Standalone时叫Master)
  • 从节点:Worker(占用节点上所有资源,耗内存,没用内存管理机制,易OOM)

安装部署

  • 安装jdk,配置主机名,配置免密码登录
  • 伪分布(Standalone):一台机器上模拟分布式环境(Master+Worker)
    • 核心配置文件:conf/spark-env.sh
      • cp spark-env.sh.template spark-env.sh
      • export JAVA_HOME=/root/training/jdk1.8.0_144
      • export SPARK_MASTER_HOST=bigdata111
      • export SPARK_MASTER_PORT=7077
    • 启动:sbin/start-all.sh
    • Web Console:http://192.168.174.111:8080/
  • 全分布:先在主节点上安装,再把装好的目录复制到从节点上 
    • scp -r spark-2.1.0-bin-hadoop2.7/ root@bigdata114:/root/training
    • 在主节点上启动集群

HA

  • 基于文件目录
    • 本质还是只有一个主节点
    • 创建恢复目录保存状态信息
    • 主要用于开发和测试
    • mkdir /root/training/spark-2.1.0-bin-hadoop2.7/recovery
    • spark-env.sh
    • export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYstem -Dspark.deploy.recoveryDirectory=/root/training/spark-2.1.0-bin-hadoop2.7/recovery"

  • 基于zookeeper
    • 用于生产环境
    • 相当于数据库
    • 数据同步,选举功能,分布式锁(秒杀)
    • 步骤
      • 设置时间同步
      • date -s 2020-06-03
      • 启动zk
      • 配置spark-env.sh,注释掉最后两行,添加
      • export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=bigdata112:2181,bigdata113:2181,bigdata114:2181 -Dspark.deploy.zookeeper.dir=/spark"

      • bigdata112上启动spark集群后,在bigdata114上启动Master

  

工具

  • spark-submit:用于提交Spark任务(jar包) 
  • spark-shell:相当于REPL,命令行工具 
    • bin/spark-shell

参考

spark.apache.org

相关文章

1.SparkStreaming是什么?SparkStreaming是SparkCore的扩展A...
本篇内容介绍了“Spark通讯录相似度计算怎么实现”的有关知识...
本篇文章给大家分享的是有关如何进行Spark数据分析,小编觉得...
本篇内容主要讲解“Spark Shuffle和Hadoop Shuffle有哪些区别...
这篇文章主要介绍“TSDB的数据怎么利用Hadoop/spark集群做数...
本篇内容介绍了“Hadoop与Spark性能原理是什么”的有关知识,...