云服务器免费试用

spark安装配置linux图文教程(linux spark安装)

服务器知识 0 904

本文旨在帮助Spark初学者,学习如何在基于Linux的Ubuntu服务器上安装Apache Spark,同样的步骤也可用于安装Centos、Debian等。在现实环境中,所有的Spark应用程序都运行在基于Linux的操作系统上,因此,了解如何在一些基于Unix的操作系统上安装和运行Spark应用程序,如Ubuntu服务器,是一件好事。

虽然这篇文章解释的是Ubuntu,但你可以按照这些步骤在任何基于Linux的操作系统上安装Spark,如Centos,Debian等,我按照下面的步骤在Ubuntu服务器上设置我的Apache Spark集群。

预备知识:

  • 运行Ubuntu服务器
  • 对Ubuntu服务器的root权限 如果你只是想独立运行Spark,请继续阅读这篇文章。

在Ubuntu上安装Java

Apache Spark是用Scala编写的,Scala是一种Java语言,因此要运行Spark,你需要安装Java。由于甲骨文的Java在这里得到了许可,我使用openJDK Java。如果你想使用其他供应商或Oracle的Java,请这么做。这里我将使用JDK 8。

sudo apt-get -y install openjdk-8-jdk-headless

在JDK安装后,通过运行java -version检查其是否安装成功

在Ubuntu上安装Python(可选)

如果你想在Ubuntu服务器上用Scala和Java运行Spark,你可以跳过这一部分。

如果你想在Ubuntu服务器上运行PySpark的例子(用Python的Spark),就需要安装Python。

sudo apt install python3

当然这边推荐你安装Anaconda3,

wget -P /tmp https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.shbash /tmp/Anaconda3-2020.02-Linux-x86_64.sh

Apache Spark在Ubuntu上的安装

为了在基于Linux的Ubuntu上安装Apache Spark,请访问Apache Spark下载网站,进入下载Apache Spark部分,如下图所示,点击第3点的提供的下载链接,这将带你到有镜像URL的页面进行下载,从其中一个镜像站点复制链接。

如果你想使用不同版本的Spark & Hadoop,从下拉菜单中选择你想要的版本(第1点和第2点);第3点的链接会变为所选的版本,并为你提供一个更新的下载链接。

使用wget命令将Apache Spark下载到你的Ubuntu服务器。

wget https://downloads.apache.org/spark/spark-3.0.1/spark-3.0.1-bin-hadoop2.7.tgz

一旦你的下载完成,用tar命令解压缩档案文件内容,tar是一个文件归档工具。一旦解压完成,将文件夹重命名为spark。

tar -xzf spark-3.0.1-bin-hadoop2.7.tgzmv spark-3.0.1-bin-hadoop2.7 sparkTODO - Add Python environment

Spark环境变量

在.bashrc或.profile文件中添加Apache Spark环境变量。用vi编辑器打开文件,添加以下变量。

sparkuser@sparknode:~$ vi ~/.bashrc# Add below lines at the end of the .bashrc file.export SPARK_HOME=/home/sparkuser/sparkexport PATH=$PATH:$SPARK_HOME/bin

现在,通过运行以下命令将环境变量加载到已打开的会话中

sparkuser@sparknode:~$ source ~/.bashrc

如果你添加了.profile文件,那么通过关闭和重新打开会话来重新启动你的会话。

测试Ubuntu上的Spark安装

就这样,Apache Spark在Linux Ubuntu上的安装完成了。现在让我们来运行一个Spark二进制发行版附带的例子。

这里我将使用Spark-Submit命令通过运行
org.apache.spark.examples.SparkPi例子来计算10个地方的PI值。你可以在$SPARK_HOME/bin目录下找到spark-submit:

spark-submit --class org.apache.spark.examples.SparkPi spark/examples/jars/spark-examples_2.12-3.0.1.jar 10

Spark Shell

Apache Spark的二进制文件带有一个交互式的spark-shell。为了启动一个shell来使用Scala语言,请到你的$SPARK_HOME/bin目录下,输入 "spark-shell"。这个命令会加载Spark并显示你所使用的Spark的版本。

注意:在spark-shell中,你只能用Scala运行Spark。为了运行PySpark,你需要通过运行$SPARK_HOME/bin/pyspark打开pyspark shell。在运行pyspark shell之前,请确保你已经安装了Python。

默认情况下,spark-shell提供了spark(SparkSession)和sc(SparkContext)对象供使用。让我们来看看一些例子。

Spark-shell还创建了一个Spark上下文的Web UI,默认情况下,它可以从http://ip-address:4040。

Spark的Web UI

Apache Spark提供了一套Web UI(Jobs, Stages, Tasks, Storage, Environment, Executors, and SQL)来监控你的Spark应用程序的状态,Spark集群的资源消耗,以及Spark的配置。在Spark Web UI上,你可以看到Spark动作和转换操作是如何执行的。你可以通过打开http://ip-address:4040/。用你的服务器IP替换ip-address.

Spark历史服务器

Spark历史服务器,保留了你通过spark-submit和spark-shell提交的所有完成的Spark应用程序的日志。

创建$
SPARK_HOME/conf/spark-defaults.conf文件并添加以下配置:

# Enable to store the event logspark.eventLog.enabled true#Location where to store event logspark.eventLog.dir file:///tmp/spark-events#Location from where history server to read event logspark.history.fs.logDirectory file:///tmp/spark-events

创建Spark事件日志目录。Spark为你提交的所有应用程序保留日志:

sparkuser@sparknode:~$ mkdir /tmp/spark-events

运行$
SPARK_HOME/sbin/start-history-server.sh来启动历史服务器。

sparkuser@sparknode:~$ $SPARK_HOME/sbin/start-history-server.shstarting org.apache.spark.deploy.history.HistoryServer, logging to /home/sparkuser/spark/logs/spark-sparkuser-org.apache.spark.deploy.history.HistoryServer-1-sparknode.out

按照配置,历史服务器默认运行在18080端口:

使用spark-submit命令再次运行PI实例,并刷新History服务器,它应该显示最近的运行情况。

总结

综上所述,已经学会了在基于Linux的Ubuntu服务器上安装Apache Spark的步骤,也学会了如何启动History服务器,访问Web UI。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: spark安装配置linux图文教程(linux spark安装)
本文地址: https://solustack.com/5704.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。