TreeMind树图在线AI思维导图

spark思维导图

  收藏
  分享
免费下载
免费使用文件
U769875137 浏览量:802024-06-21 01:54:08
已被使用10次
查看详情spark思维导图

spark并行计算框架结构内容详述

树图思维导图提供 spark 在线思维导图免费制作,点击“编辑”按钮,可对 spark  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:42f4658dd835f991c10b2124ce186f35

思维导图大纲

spark思维导图模板大纲

安装spark

基础环境

Linux系统

Java环境

Hadoop环境

下载安装文件

下载spark-3.2.0-bin-without-hadoop.tgz

利用MobaXterm将spark安装包上传到Linux系统的“home”文件夹内的“下载”里面

配置相关文件

配置Spark的classpath

编辑配置文件:export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

保存配置文件

启动并运行Spark(若需要使用HDFS文件,则先启动Hadoop)

验证Spaek是否安装成功

$ cd /usr/local/spark

$ bin/run-example SparkPi 2>&1 | grep "Pi is roughly"

Spark和Hadoop的交互

启动HDFS

$ cd /usr/local/hadoop

$ ./sbin/start-dfs.sh

关闭HDFS

$./sbin/stop-dfs.sh

在spark-shell中运行代码

spark-shell命令

spark-shell命令及其常用的参数

./bin/spark-shell --master <master-url>

Master URL形式

local

local[*]

local[K]

local[*,F]

local[K,F]

local-cluster[N,C,M]

...

采用本地模式启动Spark Shell的命令

采用本地模式

--master

--jars

spark-shell

启动spark-shell

$ ./bin/spark-shell

输入scala代码进行调试

退出spark-shell

:quit

Spark UI

Ubuntu系统浏览器中打开网址:localhost:4040/jobs/

开发spark独立应用程序

安装编译打包工具

安装sbt

下载sbt安装包sbt-1.3.8.tgz

利用MobaXterm将sbt安装包上传到Linux系统的“home”文件夹内的“下载”里面

执行终端命令

$ sudo mkdir /usr/local/sbt    # 创建安装目录

$ cd ~/下载

$ sudo tar -zxvf ./sbt-1.3.8.tgz -C /usr/local

$ cd /usr/local/sbt

$ sudo chown -R hadoop /usr/local/sbt

$ cd /usr/local/sbt

$ cp ./bin/sbt-launch.jar ./

在 /usr/local/sbt 中创建 sbt 脚本

vim ./sbt

添加内容:#!/bin/bash SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"

保存内容

为 ./sbt 脚本增加可执行权限

$ chmod u+x ./sbt

检验sbt是否可用

$ ./sbt sbtVersion

安装Maven

下载Maven安装包

利用MobaXterm将安装包上传到Linux系统的“home”文件夹内的“下载”里面

执行终端命令

$ sudo unzip ~/下载/apache-maven-3.6.3-bin.zip -d /usr/local

$ cd /usr/local

$ sudo mv ./apache-maven-3.6.3 ./maven

$ sudo chown -R hadoop ./maven

编写Spark应用程序代码

执行终端命令

创建一个文件夹 sparkapp

$ cd ~

$ mkdir ./sparkapp

$ mkdir -p ./sparkapp/src/main/scala

创建一个文件 SimpleApp.scala

vim ./sparkapp/src/main/scala/SimpleApp.scala

在文件 SimpleApp.scala编写应用程序代码

编译打包

使用sbt对Scala 程序进行编译打包

在./sparkapp 中新建文件 simple.sbt

vim ./sparkapp/simple.sbt

声明该独立应用程序的信息以及与 Spark 的依赖关系

name := "Simple Project"

version := "1.0"

scalaVersion := "2.12.15"

libraryDependencies += "org.apache.spark" %% "spark-core" % "3.2.0"

保证 sbt 能正常运行

$ cd ~/sparkapp

$ find .

将整个应用程序打包成 JAR

$ /usr/local/sbt/sbt package

生成的 jar 包的位置为 ~/sparkapp/target/scala-2.12/simple-project_2.12-1.0.jar

使用Maven对Scala 程序进行编译打包

创建一个文件夹 sparkapp2

$ cd ~

$ mkdir ./sparkapp2

$ mkdir -p ./sparkapp2/src/main/scala

创建一个文件 SimpleApp.scala

vim ./sparkapp/src/main/scala/SimpleApp.scala

在文件 SimpleApp.scala编写应用程序代码

在“~/sparkapp2”目录中新建文件pom.xml并输入内容

将整个应用程序打包成 JAR

$ cd ~/sparkapp2

$ /usr/local/maven/bin/mvn package

生成的应用程序JAR包的位置为“/home/hadoop/sparkapp2/target/simple-project-1.0.jar”

通过spark-submit运行程序

使用sbt对Scala 程序进行编译打包

$ /usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.12/simple-project_2.12-1.0.jar 2>&1 | grep "The num of this file is:"

使用Maven对Scala 程序进行编译打包

./bin/spark-submit --class <main-class> --master <master-url> --deploy-mode <deploy-mode> ... # other options <application-jar> [application-arguments]

spark集群环境搭建

集群概况

3台机器

Master节点

hadoop01

Slave节点

hadoop02和hadoop03

准备工作:搭建Hadoop集群环境

安装Spark

Master节点

下载Spark安装包

创建.bashrc

$ vim ~/.bashrc

在.bashrc添加内容

export SPARK_HOME=/usr/local/spark

export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

使得配置立即生效

$ source ~/.bashrc

配置环境变量

Master节点

配置workers文件

将 workers.template 拷贝到 workers

$ cd /usr/local/spark/

$ cp ./conf/workers.template ./conf/workers

workers文件设置Worker节点

编辑workers内容,把默认内容localhost替换成hadoop02 hadoop03

配置spark-env.sh文件

将 spark-env.sh.template 拷贝到 spark-env.sh

$ cp ./conf/spark-env.sh.template ./conf/spark-env.sh

编辑spark-env.sh,添加内容

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath) export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop export SPARK_MASTER_IP=192.168.20.129

Spark配置

将Master主机上的/usr/local/spark文件夹复制到Slave节点上

Master主机

cd /usr/local/

tar -zcf ~/spark.master.tar.gz ./spark

cd ~

scp ./spark.master.tar.gz hadoop02:/home/hadoop

scp ./spark.master.tar.gz hadoop03:/home/hadoop

Slave节点

sudo rm -rf /usr/local/spark/

sudo tar -zxf ~/spark.master.tar.gz -C /usr/local

sudo chown -R hadoop /usr/local/spark

启动Spark集群

启动Hadoop集群

Master节点

$ cd /usr/local/hadoop/

$ sbin/start-all.sh

$ cd /usr/local/spark/

$ sbin/start-master.sh

启动所有Worker节点

Master节点

$ sbin/start-workers.sh

查看信息

Master主机

打开浏览器,访问http://hadoop01:8080

关闭Spark集群

Master节点

关闭Master节点

$ sbin/stop-master.sh

关闭Worker节点

$ sbin/stop-workers.sh

关闭Hadoop集群

$ cd /usr/local/hadoop/

$ sbin/stop-all.sh

在集群上运行spark应用程序

启动Spark集群

启动Hadoop集群

$ cd /usr/local/hadoop/

$ sbin/start-all.sh

启动Spark的Master节点和所有Worker节点

$ cd /usr/local/spark/

$ sbin/start-master.sh

$ sbin/start-workers.sh

在集群中运行应用程序JAR包

主节点:spark://hadoop01:7077,测试SparkPi

在集群中运行spark-shell

启动spark-shell环境

$ cd /usr/local/spark

$ bin/spark-shell --master spark://hadoop01:7077

执行命令

读取HDFS上的文件:val textFile = sc.textFile("hdfs://hadoop01:9000/README.md")

计算行数:textFile.count()

查看首行:textFile.first()

...

查看集群信息

打开浏览器,访问http://hadoop01:8080/

相关思维导图模板

第八章 Spark MLlib——功能强大的算法库思维导图

树图思维导图提供 第八章 Spark MLlib——功能强大的算法库 在线思维导图免费制作,点击“编辑”按钮,可对 第八章 Spark MLlib——功能强大的算法库  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:67f780745912fc85a9e25a8d3596ccc3

第七章 Spark GraphX——图计算框架思维导图

树图思维导图提供 第七章 Spark GraphX——图计算框架 在线思维导图免费制作,点击“编辑”按钮,可对 第七章 Spark GraphX——图计算框架  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:3eef241ee87485bc29f6dcbb9e23b037