首页 > 其他分享 >大数据之—Spark环境搭建

大数据之—Spark环境搭建

时间:2023-03-24 13:55:31浏览次数:43  
标签:bin 环境 yarn spark HOME Spark SPARK 搭建

目录

前言

参考:https://blog.csdn.net/wzb1983/article/details/125761231

官网:http://spark.apache.org/downloads.html

软件仓库:https://archive.apache.org/dist/spark/

软件:https://archive.apache.org/dist/spark/spark-3.1.2/spark-3.1.2-bin-hadoop2.7.tgz

运行模式说明

运行环境 模式 模式
Local 本地模式 常用于本地开发测试,如在eclipse,idea中写程序测试等。本地还分为local单线程和local-cluster多线程local[*]
Standalone 集群模式 Spark自带的一个资源调度框架,支持完全分布式。存在的Master单点故障可由ZooKeeper来实现HA
Yarn 集群模式 运行在yarn资源管理器框架之上,由yarn负责资源管理,Spark负责任务调度和计算
  • Local模式: Local模式就是运行在一台计算机上的模式,通常就是用于在本机上练手和测试。它可以通过以下集中方式设置master。

    • local: 所有计算都运行在一个线程当中,没有任何并行计算,通常我们在本机执行一些测试代码,或者练手,就用这种模式;
    • local[K]: 指定使用几个线程来运行计算,比如local[4]就是运行4个worker线程。通常我们的cpu有几个core,就指定几个线程,最大化利用cpu的计算能力;
    • local[*]: 这种模式直接帮你按照cpu最多cores来设置线程数了。
  • Standalone模式: 构建一个由Master+Slave构成的Spark集群,Spark运行在集群中。

  • Yarn模式: Spark客户端直接连接Yarn;不需要额外构建Spark集群。

    • 有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。
    • yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出
    • yarn-cluster:Driver程序运行在由RM(ResourceManager)启动的AP(APPMaster中,这种模式适用于生产环境)

Local模式

安装

mkdir -p /opt/spark && cd /opt/spark
tar -xvzf spark-3.1.2-bin-hadoop2.7.gz

vim /etc/profile.d/my_env.sh

# SPARK_HOME
export SPARK_HOME=/opt/spark/spark-3.1.2-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

source /etc/profile

配置

cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
vim $SPARK_HOME/conf/spark-env.sh
# 添加如下内容
export JAVA_HOME=/opt/jdk/java8

服务启动停止

# 进入命令库
cd $SPARK_HOME/sbin

# 启动集群
$SPARK_HOME/sbin/start-all.sh

# 停止集群
$SPARK_HOME/sbin/stop-all.sh

启动客户端

# scala-spark-shell
$SPARK_HOME/bin/spark-shell
# python—spark—shell
$SPARK_HOME/bin/pyspark

测试

# 启动 python—spark—shell
$SPARK_HOME/bin/pyspark
# 测试
data = sc.textFile("file:////opt/spark/spark-3.1.2-bin-hadoop2.7/README.md")
data.count()   # 词条统计
>>> 108
data.first()   # 第一行字符
>>> '# Apache Spark'

Standalone模式

配置

Standalone模式在Local模式下继续操作的。

vim $SPARK_HOME/conf/spark-env.sh
# 添加内容
SPARK_MASTER_HOST=node1
SPARK_MASTER_PORT=7077

配置 workers

cp $SPARK_HOME/conf/workers.template $SPARK_HOME/conf/workers && vim $SPARK_HOME/conf/workers
# 添加内容
node1
node2
node3

分发 spark软件:xsync /opt/spark

分发 环境变量配置:xsync /etc/profile.d/my_env.sh

刷新节点环境变量:source /etc/profile

启动

# 启动集群
$SPARK_HOME/sbin/start-all.sh

# 停止集群
$SPARK_HOME/sbin/stop-all.sh

# 验证启动
jpsall

测试

1、python—spark—shell

$SPARK_HOME/bin/pyspark
# 测试
data = sc.textFile("file:////opt/spark/spark-3.1.2-bin-hadoop2.7/README.md")
data.count()   # 词条统计
>>> 108
data.first()   # 第一行字符
>>> '# Apache Spark'

2、spark-submit

该算法是利用蒙特·卡罗算法求PI

$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://node1:7077 $SPARK_HOME/examples/jars/spark-examples_2.12-3.1.2.jar 10

3、Spark on Yarn

yarn模式两种提交任务方式:

Spark可以和Yarn整合,将Application提交到Yarn上运行,Yarn有两种提交任务的方式。

  • yarn-client提交任务方式
$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client $SPARK_HOME/examples/jars/spark-examples_2.12-3.1.2.jar 100
  • yarn-cluster提交任务方式
$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster $SPARK_HOME/examples/jars/spark-examples_2.12-3.1.2.jar 100

注:如果在yarn集群中运行报错,可能是因为yarn内存检测的原因导致,需要增加如下配置

vim /opt/hadoop/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>

<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

标签:bin,环境,yarn,spark,HOME,Spark,SPARK,搭建
From: https://www.cnblogs.com/hhddd-1024/p/17251331.html

相关文章

  • python监控linux环境磁盘空间,并通过钉钉通知
    #-*-coding:utf-8-*-importpsutilimporttimefromdingtalkchatbot.chatbotimportDingtalkChatbotfromdatetimeimportdatetimeimportosfromos.pathim......
  • 普罗米修斯(Prometheus)监控搭建
     Prometheus受启发于Google的Brogmon监控系统(类似kubernetes是从Google的Brog系统演变而来)。于2012年以开源形式发布,在2015年对外发布早期版本。2016年发布1.0版本,2017年......
  • java环境变量设置
    java环境变量设置目录java环境变量设置一、windows系统1.1、进入高级系统设置1.2、进入环境变量界面1.3、新增JAVA_HOME变量1.4、新增CLASSPATH变量1.5、新增Path变量1.6......
  • ip地址配置与NFS服务器搭建
    IP地址设置   重启网卡  查看网络配置信息  安装NFS软件包  启动NFS服务 配置exports文件    客户机测试       Smaba服......
  • macOS下环境变量的配置文件
    macOS下环境变量的配置文件有这些:/etc/paths/etc/profile~/.bash_profile~/.bash_login~/.profile~/.bashrc/etc/profile和/etc/paths是系统级别的配置文件,后......
  • 安卓手机使用TK加速器搭建Tiktok运营环境时需要注意什么?
    要想在安卓手机上搭建Tiktok运营的网络环境,需要考虑以下几个方面: 网络稳定性:Tiktok是一个基于互联网的应用程序,需要稳定的网络连接才能正常运行。因此,在搭建Tiktok运营......
  • Vue.js 搭建Vuex环境
    视频npmivuex@33.搭建vuex环境创建文件:src/store/index.js//引入Vue核心库importVuefrom'vue'//引入VueximportVuexfrom'vuex'//应用Vuex插件Vue.u......
  • Centos7搭建redis7集群
    redis集群搭建准备了3台主机,每台主机部署2个节点,整个集群3个master节点和3个slave节点组成主机:192.168.130.101 7001 7002      192.168.130.102 7001 70......
  • 概述Spark主要特点
    Spark是在MapReduce基础上产生的,它克服了MapReduce存在的性能低下、编程不够灵活等缺点。Spark作为一种DAG计算框架,其主要特点如下:1、性能高效其性能高效主要体现在以下几个......
  • IT环境建设上的关键技术点
    线下环境细分出集成测试环境、开发测试环境以及多个项目环境之后,带来的最大的成本其实不在资源上,而是在管理和维护上,而且单单就线下维护的工作量来说,甚至要超过线上维护的工......