Spark的Standalone模式安装部署

Spark运行模式

Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Standalone 模式,对于大多数情况 Standalone 模式就足够了,如果企业已经有 Yarn 或者 Mesos 环境,也是很方便部署的。

  • local(本地模式):常用于本地开发测试,本地还分为local单线程和local-cluster多线程;
  • standalone(集群模式):典型的Mater/slave模式,不过也能看出Master是有单点故障的;Spark支持ZooKeeper来实现 HA
  • on yarn(集群模式): 运行在 yarn 资源管理器框架之上,由 yarn 负责资源管理,Spark 负责任务调度和计算
  • on mesos(集群模式): 运行在 mesos 资源管理器框架之上,由 mesos 负责资源管理,Spark 负责任务调度和计算
  • on cloud(集群模式):比如 AWS 的 EC2,使用这个模式能很方便的访问 Amazon的 S3;Spark 支持多种分布式存储系统:HDFS 和 S3

Spark Standalone集群部署

准备工作

  • 这里我下载的是Spark的编译版本,否则需要事先自行编译
  • Spark需要Hadoop的HDFS作为持久化层,所以在安装Spark之前需要安装Hadoop,这里Hadoop的安装就不介绍了,给出一个教程Hadoop安装教程_单机/伪分布式配置
  • 实现创建hadoop用户,Hadoop、Spark等程序都在该用户下进行安装
  • ssh无密码登录,Spark集群中各节点的通信需要通过ssh协议进行,这需要事先进行配置。通过在hadoop用户的.ssh目录下将其他用户的id_rsa.pub公钥文件内容拷贝的本机的authorized_keys文件中,即可事先无登录通信的功能
  • Java环境的安装,同时将JAVA_HOME、CLASSPATH等环境变量放到主目录的.bashrc,执行source .bashrc使之生效

部署配置

这里配置工作需要以下几个步骤:

  1. 解压Spark二进制压缩包
  2. 配置conf/spark-env.sh文件
  3. 配置conf/slave文件

下面具体说明一下:

  • 配置Spark的运行环境,将spark-env.sh.template模板文件复制成spark-env.sh,然后填写相应需要的配置内容:
    1
    2
    3
    4
    5
    export SPARK_MASTER_IP=hadoop1
    export SPARK_MASTER_PORT=7077
    export SPARK_WORKER_CORES=1
    export SPARK_WORDER_INSTANCES=1
    export SPARK_WORKER_MEMORY=3g

其他选项内容请参照下面的选项说明:

1
2
3
4
5
6
7
8
9
10
11
# Options for the daemons used in the standalone deploy mode:
# - SPARK_MASTER_IP, to bind the master to a different IP address or hostname
# - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT, to use non-default ports for the master
# - SPARK_MASTER_OPTS, to set config properties only for the master (e.g. "-Dx=y")
# - SPARK_WORKER_CORES, to set the number of cores to use on this machine
# - SPARK_WORKER_MEMORY, to set how much total memory workers have to give executors (e.g. 1000m, 2g)
# - SPARK_WORKER_PORT / SPARK_WORKER_WEBUI_PORT, to use non-default ports for the worker
# - SPARK_WORKER_INSTANCES, to set the number of worker processes per node
# - SPARK_WORKER_DIR, to set the working directory of worker processes
# - SPARK_WORKER_OPTS, to set config properties only for the worker (e.g. "-Dx=y")
# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. "-Dx=y")

  • conf/slave文件用户分布式节点的配置,这里只需要在slave文件中写入各节点的主机名即可

  • 将以上内容都配置好了,将这个spark目录拷贝到各个节点scp -r spark hadoop@hadoop2:~

  • 接下来就可以启动集群了,在Spark目录中执行sbin/start-all.sh,然后可以通过netstat -nat命令查看端口7077的进程,还可以通过浏览器访问hadoop1:8080了解集群的概况

Spark Client部署

Spark Client的作用是,事先搭建起Spark集群,然后再物理机上部署客户端,然后通过该客户端提交任务给Spark集群。
由于上面介绍了Standalone分布式集群是如何搭建的,这里只需将集群上的spark文件夹拷贝过来。
最简单的Spark客户端访问集群的方式就是通过Spark shell的方式:bin/spark-shell --master spark://hadoop1:7077这样就可以访问集群了。
这样在浏览器的Spark集群界面上就可以看到Running Applications一栏中有Spark shell的应用在执行。

Spark Standalone伪分布式部署

伪分布式是在一台机器上进行部署来模拟分布式的集群,这里部署的过程和Standalone集群的部署是类似的,事前的工作都是一样的,这里只是在配置文件中做相应的修改就可以了。

这里还是配置这两个文件:

配置conf/spark-env.sh文件
配置conf/slave文件

  • 修改spark-env.sh文件,修改master的ip,这里主机名和用户ip分别在/etc/hostname/etc/hosts文件中进行配置

    1
    2
    3
    4
    5
    export SPARK_MASTER_IP=jason
    export SPARK_MASTER_PORT=7077
    export SPARK_WORKER_CORES=1
    export SPARK_WORDER_INSTANCES=1
    export SPARK_WORKER_MEMORY=3g
  • slave文件中,填写自己的主机名,比如我的主机名jason

### 回答1: Spark Standalone模式安装部署步骤如下: 1. 下载Spark安装包并解压缩到指定目录。 2. 配置Spark环境变量,包括JAVA_HOME、SPARK_HOME等。 3. 配置Spark的主节点和从节点,可以通过编辑conf/spark-env.sh文件来设置。 4. 启动Spark集群,可以使用sbin/start-all.sh命令启动。 5. 部署Spark应用程序,可以使用spark-submit命令提交应用程序。 6. 监控Spark集群的运行状态,可以使用Web UI或命令行工具来查看。 以上是Spark Standalone模式安装部署步骤,需要注意的是,部署过程中需要根据实际情况进行配置和调整,以确保集群的稳定和高效运行。 ### 回答2: Spark是一个开源大数据处理框架,可以通过多种方式进行部署和运行。其中,Spark Standalone模式是一种较为常见的部署方式,本篇文章就介绍一下Spark Standalone模式安装部署方法。 一、安装Java和Spark安装Spark Standalone模式之前,需要先安装Java和Spark。Java的安装方法比较简单,在Oracle官网上下载对应操作系统的Java安装包,然后根据提示进行安装即可。而Spark安装也十分简单,可以在Spark官网上下载对应版本的Spark,并将其解压到任意目录即可。 二、配置Spark环境 在安装完成Java和Spark后,需要对Spark进行一些配置,来满足运行Spark应用所需要的条件。具体的配置如下: 1. 创建Spark环境变量 将Spark安装目录添加到系统环境变量中。在Linux系统中,可以通过以下命令将Spark加入系统环境变量: export SPARK_HOME=/path/to/spark export PATH=$PATH:$SPARK_HOME/bin 2. 配置Spark Master节点 在Spark官方网站上,可以找到如何设置Spark Master的详细说明。在执行之前,请确保: - 运行spark-daemon.sh脚本的用户有足够的权限,才能够启动Spark Master进程。 - 确认Spark Master的IP地址已经设置成正确的值,否则会无法和Worker进程进行通信。 - 配置Spark所需要的内存、CPU核心和端口等参数。 3. 配置Worker节点 在Spark集群中,Worker节点是执行实际任务的节点,同样也需要进行相应的配置。配置方法和Master节点类似,不同之处在于需要在每个Worker所在的机器中进行配置。 三、启动Spark Standalone集群 在完成上述配置后,就可以启动Spark Standalone集群了。整个集群的启停,使用start-all.sh和stop-all.sh脚本来实现。在启动Master进程后,可以直接通过以下命令启动Worker进程: ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://<master-ip>:<master-port> 其中,<master-ip>和<master-port>分别是Master进程的IP地址和端口号,需要根据实际情况进行配置。 通过上述方法,就可以成功地安装部署Spark Standalone模式,开启大数据处理之旅。 ### 回答3: Spark是现今最流行的大数据处理框架之一。在使用Spark处理海量数据时,我们经常需要在集群上用Spark Standalone模式来进行安装部署。下面我将逐步详细介绍如何进行Spark Standalone模式安装部署。 1. 准备环境 在开始安装之前,需要为Spark Standalone模式准备基本环境: a. Java环境:Spark需要在Java 8或更高版本下运行 b. Hadoop环境:尽管Spark可以独立运行,但它通常与Hadoop或其他分布式文件系统集成。因此,为了使Spark Standalone顺利运行,需要先进行Hadoop的配置 c. Python环境:为了简化Spark部署和使用,最好安装Python环境。Python环境可以提供PySpark,这是一种用于在Python上开发Spark应用程序的API。 2. 下载和解压Spark 在准备好环境后,需要下载并解压Spark。请从Spark官方网站上下载Spark,选择适合您的操作系统的版本。将Spark压缩包解压到目标文件夹。 3. 配置Spark 在解压完Spark后,我们需要按照以下步骤配置Spark: a. 编辑spark-env.sh文件并设置JAVA_HOME和HADOOP_CONF_DIR变量。这个文件位于Spark解压后的conf目录下。 b. 编辑spark-defaults.conf文件,并设置Spark属性。 c. 编辑slaves文件,设置集群中的slave(工作节点)主机名或IP地址。 4. 启动Spark集群 在完成Spark配置后,我们需要启动Spark集群。以下是一些基本步骤: a. 在主机上运行启动Master的脚本sbin/start-master.sh(请注意,您需要相应的权限来运行初始化脚本) b. 一旦主节点启动并运行,我们可以连接Master的web UI来查看Spark集群状态。在浏览器中打开Master主机并输入URL:http://[Master IP地址或主机名]:8080。 c. 在其余节点上启动Slave的脚本sbin/start-slave.sh(请注意启动Master之前必须先启动Slave) 5. 启动Spark应用程序 启动Spark应用程序的方法: a. 如果您使用Scala编写Spark应用程序,则使用Spark的Scala API启动应用程序。 b. 如果您使用Python编写Spark应用程序,则可以使用PySpark应用程序。 总体来说,Spark Standalone模式安装部署需要几个简单的步骤。然而,在配置的过程中,需要注意节点配置和Spark的环境配置。因此,需要在配置之前了解并准备所有必需的环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值