spark概述和安装部署

1、spark概述

  • 1、什么是spark

    • 基于内存的计算引擎,它的计算速度非常快。但是spark仅仅只涉及到数据的计算,没有涉及到数据的存储。
  • 2、为什么学习spark
    • 比mapreduce计算速度快很多。
  • 3、spark特点
    • 1、速度快

      • 比mapreduce在内存中快100x,在磁盘中快10x

        • 1、由于mapreduce每次job的中间结果数据都会落地到磁盘中,而spark每次中间结果数据可以不落地(可以保存在内存中)
        • 2、mapreduce任务对应都会产生一些map任务和reduce任务,这些任务都会以进程的方式运行在集群中,针对于spark任务,它是以线程的方式运行在spark集群中。
    • 2、易用性
      • 可以快速写一个spark应用程序采用4中语言(java/scala/Python/R)
    • 3、通用性
      • 可以使用sparkSql /sparkStreaming/Mlib/Graphx
    • 4、兼容性
      • 可以把spark程序提交到不同的平台中运行(standalone/yarn/mesos)

2、spark集群安装部署

  • 1、下载spark安装包
  • 2、规划安装目录
  • 3、解压安装包到指定安装目录
  • 4、重明名安装目录
  • 5、修改配置文件
    • 1、vi spark-env.sh (mv spark-env.sh.template spark-env.sh)

      • 配置java环境变量

        • export JAVA_HOME=/export/servers/jdk
      • 配置master的地址
        • export SPARK_MASTER_HOST=node1
      • 配置master的端口
        • export SPARK_MASTER_PORT=7077
    • 2、vi slaves (mv slaves.template slaves)
      • 添加worker节点

        • node2
        • node3
  • 6、添加spark环境变量
    • vi /etc/profile

      export SPARK_HOME=/export/servers/sparkexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
  • 7、分发spark安装目录到其他节点
    • scp -r spark [email protected]:/export/servers
    • scp -r spark [email protected]:/export/servers
    • scp /etc/profile [email protected]:/etc
    • scp /etc/profile [email protected]:/etc
  • 8、让所有spark环境变量生效
    • 在所有节点执行

      • source /etc/profile

    ?

3、spark集群启动和停止

  • 启动spark集群

    • 在主节点上执行脚本

      • $SPARK_HOME/sbin/start-all.sh
  • 停止spark集群
    • 在主节点上执行脚本

      • $SPARK_HOME/sbin/stop-all.sh

4、spark集群web管理界面

  • spark web管理界面

5、基于zookeeper的sparkHA高可用部署

  • 1、修改配置文件 vi spark-env.sh

    • 1、注释掉手动指定的master地址

      • export SPARK_MASTER_HOST=node1
    • 2、添加配置参数 SPARK_DAEMON_JAVA_OPTS
      export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER  -Dspark.deploy.zookeeper.url=hdp-node-01:2181,hdp-node-02:2181,hdp-node-03:2181  -Dspark.deploy.zookeeper.dir=/spark"
  • 2、启动zk集群
  • 3、启动sparkHA
    • 可以在任意一台机器上启动脚本(它会在当前机器中产生一个Master进程) 前提条件:配置所有机器两两之间对应的ssh免登录

      • start-all.sh
    • 可以在其他机器上单独启动master进程
      • start-master.sh

6、spark角色介绍

  • 1、Driver

    • 就是运行客户端main方法,构建SparkContext对象
  • 2、Application
    • 包含driver代码,还有当前这个任务计算所有需要的资源
  • 3、Master
    • 它是集群中老大,负责资源的分配和任务的调度
  • 4、ClusterManager
    • spark应用程序可以获取的外部资源

      • Standalone

        • spark自带的集群模式,资源的分配和任务调度由Master
      • Yarn
        • 资源的分配和任务调度由ResourceManager
      • Mesos
        • 是apache开源的一个资源调度框架。
  • 5、Worker Node
    • 集群中的小弟,负责任务计算的节点
    • Standalone: 通过slaves文件指定的节点
    • spark on yarn: yarn中的NodeManager节点
  • 6、executor
    • 它是一个进程,它会在worker节点上启动
  • 7、task
    • 是以线程的方式运行在executor进程中

7、初识spark程序

  • 1、普通模式提交任务(已经知道活着的master地址)

    bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://node1:7077 \--executor-memory 1G \--total-executor-cores 2 \examples/jars/spark-examples_2.11-2.0.2.jar \10
  • 2、高可用模式提交任务(并不知道哪一个master是活着的master)
    bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://node1:7077,node2:7077,node3:7077 \--executor-memory 1G \--total-executor-cores 2 \examples/jars/spark-examples_2.11-2.0.2.jar \10

8、spark-shell使用

  • 1、spark-shell --master local[N] 读取本地数据文件,实现单词计数

    • --master local[N]

      • 指定master的地址为本地单机版模式 ,N是一个正整数,(local[2])表示本地采用2个线程来运行任务
    • 它会产生一个SparkSubmit进程
      sc.textFile("file:///root/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect?sc.textFile("file:///root/words.txt").flatMap(x=>x.split(" ")).map(x=>(x,1)).reduceByKey((x,y)=>x+y).collect
  • 2、spark-shell --master local[N] 读取HDFS上数据文件,实现单词计数
    • spark整合HDFS

      • vi spark-env.sh
      export HADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoop
      sc.textFile("/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
  • 3、spark-shell --master 指定master为spark集群中活着的master,读取HDFS上数据文件,实现单词计数
    • spark-shell --master spark://node1:7077 --executor-memory 1g --total-executor-cores 2

原文地址:https://www.cnblogs.com/yangwenhan/p/9048702.html

时间: 2024-12-27 20:14:33

spark概述和安装部署的相关文章

Spark-Unit1-spark概述与安装部署

一.Spark概述 spark官网:spark.apache.org Spark是用的大规模数据处理的统一计算引擎,它是为大数据处理而设计的快速通用的计算引擎.spark诞生于加油大学伯克利分校AMP实验室. mapreduce(MR)与spark的对比: 1.MR在计算中产生的结果存储在磁盘上,spark存储在内存中: 2.磁盘运行spark的速度是MR的10倍,内存运行spark是MR的100多倍: 3.spark并不是为了替代Hadoop,而是为了补充Hadoop: 4.spark没有存储

大数据学习之Storm实时计算概述及安装部署33

一:Storm概述 网址:http://storm.apache.org/ ApacheStorm是一个免费的开源分布式实时计算系统.Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理所做的实时处理.Storm非常简单,可以与任何编程语言一起使用,并且使用起来很有趣! Storm有许多用例:实时分析,在线机器学习,连续计算,分布式RPC,ETL等.风暴很快:一个基准测试表示每个节点每秒处理超过一百万个元组.它具有可扩展性,容错性,可确保您的数据得到处理,并且易于设置和操作. Sto

Hadoop2.2集群安装配置-Spark集群安装部署

配置安装Hadoop2.2.0 部署spark 1.0的流程 一.环境描写叙述 本实验在一台Windows7-64下安装Vmware.在Vmware里安装两虚拟机分别例如以下 主机名spark1(192.168.232.147),RHEL6.2-64 操作系统,usernameRoot 从机名spark2(192.168.232.152).RHEL6.2-64 操作系统,usernameRoot 二.环境准备 1.防火墙禁用.SSH服务设置为开机启动.并关闭SELINUX 2.改动hosts文件

Flume的概述和安装部署

一.Flume概述 Flume是一种分布式.可靠且可用的服务,用于有效的收集.聚合和移动大量日志文件数据.Flume具有基于流数据流的简单灵活的框架,具有可靠的可靠性机制和许多故障转移和恢复机制,具有强大的容错能力.Flume使用简单的的可扩展数据模型,循环在线分析应用程序. 二.Flume的作用 数据的来源大致有三类: 1.爬虫 2.日志数据 =>使用Flume进行获取传输 3.传统数据库 =>使用Sqoop进行数据迁移 三.Flume架构 1.source:数据源 接收webser端的数据

spark 概述与安装

概述 spark 是一个快速的通用集群计算系统.它提供了丰富的高水平的api供java,scala和python调用. 安装 到官网下载最新版本spark-1.3.1 http://spark.apache.org/downloads.html,这里以这个版本的安装为列,下载后解压,进入到软件根目录,它有两种安装方式,一种通过mvn,另一种通过sbt,两种区别不到,以mvn安装为列说明,执行下面命令 build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2

spark集群安装部署

通过Ambari(HDP)或者Cloudera Management (CDH)等集群管理服务安装和部署在此不多介绍,只需要在界面直接操作和配置即可,本文主要通过原生安装,熟悉安装配置流程. 1.选取三台服务器(CentOS系统64位) 114.55.246.88 主节点 114.55.246.77 从节点 114.55.246.93 从节点 之后的操作如果是用普通用户操作的话也必须知道root用户的密码,因为有些操作是得用root用户操作.如果是用root用户操作的话就不存在以上问题. 我是用

Spark概述及集群部署

Spark概述 什么是Spark (官网:http://spark.apache.org) Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目.目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL.Spark Streaming.GraphX.MLlib等子项目,Spark是基于内存计算的大数据并行计算框架.Spark基

Spark 概述及其高可用集群部署

Spark入门 一. 学习目标 目标1:熟悉Spark相关概念 目标2:搭建一个Spark集群 二. Spark概述 2.1什么是Spark(官网:http://spark.apache.org) Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目.目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL.Spark Str

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d