Oracle Linux 8 安装 Apache Spark

Apache Spark是用于处理集群计算环境中大数据工作负载的开源分布式处理系统。 它的设计是为了速度,易用性和复杂的分析,在Java,Scala,Python,R和SQL中提供了API。 它支持多种编程语言,包括 Java、Scala、Python 和 R。它在内存中运行程序的速度比 Hadoop MapReduce 快 100 倍,或者在磁盘上运行速度快 10 倍。 数据科学家和工程师使用它在单节点机器或集群上执行数据工程、数据科学和机器学习。

在这篇文章中,我们将向我们展示 Oracle Linux 8 上安装 Apache Spark。

先决条件

  • 在 云平台上运行 Oracle Linux 8 的服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Oracle Linux 8 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

dnf update -y

第 2 步 – 安装 Java

Apache Spark 是基于 Java 的应用程序,因此必须在我们的服务器上安装 Java。 如果未安装,我们可以通过运行以下命令来安装它:

dnf install java-11-openjdk-devel -y

安装 Java 后,我们可以使用以下命令对其进行验证:

java --version

我们将获得以下输出:

openjdk 11.0.15 2022-04-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.15+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+9-LTS, mixed mode, sharing)

第 3 步 – 安装 Spark

在编写本教程时,Apache Spark 的最新版本是 3.2.1。 我们可以使用以下命令从 Apache 官方网站下载最新版本的 Apache Spark:

wget https://dlcdn.apache.org/spark/spark-3.2.1/spark-3.2.1-bin-hadoop3.2.tgz

下载完成后,使用以下命令提取下载的文件:

tar -xvf spark-3.2.1-bin-hadoop3.2.tgz

接下来,使用以下命令将提取的目录移动到 /opt:

mv spark-3.2.1-bin-hadoop3.2 /opt/spark

接下来,为 Apache Spark 创建一个专用用户并为 /opt 目录设置适当的所有权:

useradd spark
chown -R spark:spark /opt/spark

第 4 步 – 为 Apache Spack 创建一个 Systemd 服务文件

接下来,我们需要创建一个服务文件,用于通过 systemd 管理 Apache Spark Master 和 Slave。

首先,使用以下命令为 Master 创建一个 systemd 服务文件:

nano /etc/systemd/system/spark-master.service

添加以下行:

[Unit]
Description=Apache Spark Master
After=network.target

[Service]
Type=forking
User=spark
Group=spark
ExecStart=/opt/spark/sbin/start-master.sh
ExecStop=/opt/spark/sbin/stop-master.sh

[Install]
WantedBy=multi-user.target

保存并关闭文件,然后为 Slave 创建一个 systemd 服务文件:

nano /etc/systemd/system/spark-slave.service

添加以下行:

[Unit]

Description=Apache Spark Slave

After=network.target

[Service]
Type=forking
User=spark
Group=spark
ExecStart=/opt/spark/sbin/start-slave.sh spark://wer-server-ip:7077
ExecStop=/opt/spark/sbin/stop-slave.sh

[Install]
WantedBy=multi-user.target

保存并关闭文件,然后重新加载 systemd 守护程序以应用更改。

systemctl daemon-reload

接下来,启动 Spark Master 服务并使其在系统重新启动时启动:

systemctl start spark-master
systemctl enable spark-master

要验证主服务的状态,请运行以下命令:

systemctl status spark-master

我们将获得以下输出:

● spark-master.service - Apache Spark Master
   Loaded: loaded (/etc/systemd/system/spark-master.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-04-30 08:15:45 EDT; 6s ago
  Process: 5253 ExecStart=/opt/spark/sbin/start-master.sh (code=exited, status=0/SUCCESS)
 Main PID: 5264 (java)
    Tasks: 32 (limit: 23694)
   Memory: 177.7M
   CGroup: /system.slice/spark-master.service
           └─5264 /usr/lib/jvm/java-11-openjdk-11.0.15.0.9-2.el8_5.x86_64/bin/java -cp /opt/spark/conf/:/opt/spark/jars/* -Xmx1g org.apache.s>

Apr 30 08:15:42 oraclelinux systemd[1]: Starting Apache Spark Master...
Apr 30 08:15:42 oraclelinux start-master.sh[5253]: starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark-spark-org>
Apr 30 08:15:45 oraclelinux systemd[1]: Started Apache Spark Master.

第 5 步 – 访问 Apache Spark

在这一点上,Apache Spark已开始并在端口8080上收听。我们可以使用URL http:// wer-server-ip:8080访问它。 我们应该看到以下页面:
Apache Spark 仪表板

现在,启动 Spark Slave 服务并使其在系统重新启动时启动:

systemctl start spark-slave
systemctl enable spark-slave

我们可以使用以下命令检查从服务的状态:

systemctl status spark-slave

样本输出:

● spark-slave.service - Apache Spark Slave
   Loaded: loaded (/etc/systemd/system/spark-slave.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-04-30 08:23:11 EDT; 4s ago
  Process: 5534 ExecStop=/opt/spark/sbin/stop-slave.sh (code=exited, status=0/SUCCESS)
  Process: 5557 ExecStart=/opt/spark/sbin/start-slave.sh spark://oraclelinux:7077 (code=exited, status=0/SUCCESS)
 Main PID: 5575 (java)
    Tasks: 35 (limit: 23694)
   Memory: 207.4M
   CGroup: /system.slice/spark-slave.service
           └─5575 /usr/lib/jvm/java-11-openjdk-11.0.15.0.9-2.el8_5.x86_64/bin/java -cp /opt/spark/conf/:/opt/spark/jars/* -Xmx1g org.apache.s>

Apr 30 08:23:08 oraclelinux systemd[1]: Starting Apache Spark Slave...
Apr 30 08:23:08 oraclelinux start-slave.sh[5557]: This script is deprecated, use start-worker.sh
Apr 30 08:23:08 oraclelinux start-slave.sh[5557]: starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/logs/spark-spark-org.>
Apr 30 08:23:11 oraclelinux systemd[1]: Started Apache Spark Slave.

现在,重新加载我们的 Apache Spark 仪表板。 我们应该在以下页面上看到我们的工作人员:
添加了 Apache Spark Worker

恭喜! 我们已经在 Oracle Linux 8 上成功安装了 Apache Spark。我们现在可以在 Hadoop 或集群计算环境中使用 Apache Spark 来提高数据处理速度。 试一试来自 的专用服务器托管!

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论