华为云耀云服务器L实例-Spark的配置-下
产品官网:云耀云服务器L实例 _【最新】_轻量云服务器_轻量服务器_轻量应用服务器-华为云
今天我们采用可靠更安全、智能不卡顿、价优随心用、上手更简单、管理特省心的华为云耀云服务器L实例为例,继续教程的介绍。
项目源代码地址:https://github.com/lenve/vhr
Apache Spark 是一个快速、通用的大数据处理引擎,旨在提供简单、高效、通用的数据处理平台。Spark 提供了一种基于内存的计算模型,支持复杂的数据处理任务,包括批处理、交互式查询、流处理和机器学习。
以下是 Apache Spark 的主要特点和组件:
1. 快速性能: Spark 使用内存计算和弹性分布式数据集(Resilient Distributed Dataset,简称 RDD)来提供高性能的数据处理。它支持迭代计算,适用于需要多次迭代的机器学习算法。
2. 通用性: Spark 提供了统一的数据处理平台,支持多种数据处理任务,包括批处理(Spark Core)、交互式查询(Spark SQL)、流处理(Spark Streaming)和机器学习(MLlib)。
3. 易用性: Spark 提供了丰富的 API,包括 Scala、Java、Python 和 R,使开发者能够使用自己熟悉的编程语言进行大数据处理。它还提供了交互式的 shell 界面(Spark Shell)用于实时测试和调试。
4. 弹性分布式数据集(RDD): RDD 是 Spark 中的核心抽象,代表了可并行操作的不可变分布式集合。RDD 具有容错性,如果节点发生故障,可以重新计算丢失的数据。
5. Spark生态系统: Spark 生态系统包括许多附加组件,如 Spark SQL(用于结构化数据处理)、Spark Streaming(用于实时数据处理)、MLlib(用于机器学习)、GraphX(用于图处理)等,丰富了 Spark 的功能。
6. 分布式调度器: Spark 使用自己的分布式调度器,称为 Standalone 调度器,也可以与其他调度器集成,如 Apache Mesos、Hadoop YARN。
7. 开源社区: Spark 是一个开源项目,拥有庞大的用户社区和活跃的开发者社区,不断推动 Spark 的发展和改进。
Apache Spark 在大规模数据处理、机器学习和图计算等方面都取得了显著的成功,成为大数据处理领域的主要工具之一。其灵活性、性能和丰富的功能使得它适用于各种大数据处理场景。
以下是在华为云耀云服务器L实例上配置完毕Spark后,在了解在有条件的情况下部署spark集群,请注意,这里提供的步骤是基于Spark 2.12.8版本,你可以根据实际情况修改版本号。
配置 spark 集群模式。
集群搭建之前,必须满足如下条件:
- 集群主机名和 hosts 文件映射一一对应
- 集群 ssh 免密登录配置
- 集群每个节点防火墙关闭
- JDK 正确安装
- Scala 正确安装
- Hadoop 集群安装,因为 Spark 存储层要用到 HDFS,所以应该至少保证 HDFS 服务的正常运行,集群内的所有机器都需要进行以下配置。
进入到 spark 的 conf 目录下,复制spark-env.sh.template 为spark-env.sh。
[yhadoop@主机名 conf]$ vi spark-env.sh
然后添加如下内容:
export SCALA_HOME=/home/hadoop/scala export SPARK_MASTER_IP=node1
export SPARK_WORKER_MEMORY=4G
export JAVA_HOME=/home/yhadoop/java/jdk1.8.0_191 export SPARK_HOME=/home/hadoop/spark
SPARK_MASTER_IP=donghua1 的 node1改为对应的 hostname
在 slaves 文件中添加如下内容:
node2 node3 |
配置完成后,执行下面命令会把新加入的 slave 启动:[yhadoop@主机名]$ ./sbin/start-all.sh
检查进程是否成功启动,命令为:[yhadoop@主机名]$ jps
如果发现 master 和 worker 进程,说明已经成功启动(1 个 master,多个 worker)。
使用浏览器打开 http://node1:8080/,可以看到相关信息。
运行 spark 自带的例子:bin/run-example org.apache.spark.examples.JavaSparkPi --master Master 节点运行(node1:8080)。
本次记录中,我们在华为云耀云服务器L实例上顺带了解一下spark的集群部署步骤,在有多台云服务器条件的前提下,能够完成集群的部署。