2.spark 独立模式安装

安装Spark

下载

下载位置 http://spark.apache.org/downloads.html

注意选择适合对应hadoop版本的spark,点击下载会自动选择最近的镜像下载

当前安装使用2.4.4版本

安装

  1. 如下解压后,进入conf目录
tar -xvf spark-2.4.4-bin-hadoop2.7.tgz
  1. 配置SPARK_HOME并添加到PATH中,如下

export SPARK_HOME=/Users/admin/App/spark-2.4.4-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

测试

开启shell

直接命令行输入spark-shell
开启进入scala交互的命令行,可在此快速验证原型,显示如下

park context Web UI available at http://wenzhoudembp-2:4040
Spark context available as 'sc' (master = local[*], app id = local-1580276149308).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.4
      /_/

Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_202)
Type in expressions to have them evaluated.
Type :help for more information.

因为这里我们没有配置任何存储引擎和计算引擎,因此spark默认使用本地文件系统存储,使用本地JVM中的执行引擎当作计算引擎,这称为spark的本地模式,这样做的好处在于我们可以使用spark快速验证和调试程序。

注意这里的显示的几个变量解释如下:

  • Web UI

对应的应用程序运行监控页面,可以看到当前执行的任务详情,用于任务跟踪和调优。

  • Spark context/Spark session

Spark 2.0之前执行执行环境使用Spark context,2.0之后使用Spark Session(兼容2.0之前的Spark Context),运行spark任务请必须先设置当前spark运行上下文(Spark context/Spark session)。

这里shell中默认生成sc代表Spark context,spark代表Spark session。

  • master
    master代表前一节说的一个Application的总管Master,分为多种,默认不指定master执行spark-shell为相当于
bin/spark-shell -master 'local[*]'

这样具体执行语句在本地工作模式,包括如下

  1. local 本地Worker一个线程
  2. local[N] 本地Worker N个线程
  3. local[*] 本地Worker 逻辑CPU核数个数的线程

要想运行在集群上,必须指定集群地址,下一节会详述。

  • app id

对应的Application Id,唯一标记运行的应用程序

shell测试

这里测试最常见的word count,对于本地文件系统上包含单词的文件

/Users/admin/Tmp/word.data

执行如下命令,可以看到统计的结果

sc.textFile("/Users/admin/Tmp/word.data").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

可以通过http://localhost:4040/jobs/查看集群运行的任务和状态

原创,转载请注明来自

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章