SPARK运行环境

SPARK运行环境

spark可以运行在常见的集群环境之下

一、LOCAL模式

在不需要任何资源环境的情况下在本地就可以执行spark代码。所有计算都在一个线程中,没有任何并行计算。

1、解压文件夹

tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
mv spark-3.0.0-bin-hadoop3.2 spark-local

2、启动

sh /opt/module/spark-local/bin/spark-shell

访问监控页面

http://ip:4040

3、命令行工具

在data下创建文件 word.txt 并输入如下内容

my name is my name
how do you do

在spark命令行下输入如下内容

sc.textFile("/opt/module/spark-local/data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

返回结果如下

res0: Array[(String, Int)] = Array((is,1), (how,1), (my,2), (you,1), (name,2), (do,2))

退出命令行

:quit

提交应用

/spark_local/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./spark_local/examples/jars/spark-examples_2.12-3.0.0.jar 10
参数参数值说明
–classorg.apache.spark.examples.SparkPi表示要执行程序的主类(自己编写的应用程序)
–masterlocal[2]local[2] 部署模式,默认为本地模式,数字表示分配的虚拟 CPU 核数量
spark-examples_2.12-3.0.0.jar运行的应用类所在的 jar 包(自己编写的应用程序jar包)
10表示程序的入口参数,用于设定当前应用的任务数量

二、STANDALONE模式

只使用spark节点自身运行的集群模式,也就是独立部署模式

集群规划

iphost
192.168.2.102hadoop102Master  Worker
192.168.2.103hadoop103Worker
192.168.2.104hadoop104Worker

1、解压文件夹

tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C ../module/
mv spark-3.0.0-bin-hadoop3.2 spark-standalone

2、修改配置文件

cd spark-standalone/conf
mv slaves.template slaves
vim slaves

添加worker节点并保存

hadoop102
hadoop103
hadoop104
mv spark-env.sh.template spark-env.sh

添加JAVA_HOME的环境变量、master、端口并保存

export JAVA_HOME=/opt/module/jdk1.8.0_212
SPARK_MASTER_HOST=hadoop102
SPARK_MASTER_PORT=7077

分发到集群内部其他机器

3、配置spark的环境变量

export SPARK_HOME=/opt/module/spark-standalone
export PATH=$PATH:$SPARK_HOME/sbin

4、启动集群

sh /opt/module/spark-standalone/sbin/start-all.sh

5、查看集群资源监控页面

http://hadoop102:8080/

6、提交应用

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop102:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar 10
参数参数值说明
–classorg.apache.spark.examples.SparkPi表示要执行程序的主类
–masterspark://linux1:7077独立部署模式,连接到 Spark 集群
./examples/jars/spark-examples_2.12-3.0.0.jar运行类所在的 jar 包
10程序的入口参数,用于设定当前应用的任务数量

7、提交参数

参数说明
–classSpark 程序中包含主函数的类
–masterSpark 程序运行的模式(环境)
–executor-memory指定每个 executor 可用内存
–total-executor-cores指定所有executor使用的cpu核数
application-arguments传给 main()方法的参数

8、配置历史服务

为了方便查看历史任务的运行状况,需要做出如下配置

修改配置文件名

mv spark-defaults.conf.template spark-defaults.conf

启动hdfs并创建文件路径

start-dfs.sh
hadoop fs -mkdir /sparklogs

配置项如下,并分发到集群其他机器

spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop102:8020/sparklogs

修改环境变量。在spark-env.sh中添加环境变量

export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080 
-Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/sparklogs
-Dspark.history.retainedApplications=30"
参数说明
-Dspark.history.ui.portWEB 页面访问的端口号
-Dspark.history.fs.logDirectory历史服务器日志存储路径
-Dspark.history.retainedApplications指定保存 Application 历史记录的个数,如果超过这个值,旧的应用程序信息将被删除

将做出的修改分发到集群,并重启spark

三、高可用模式

集群规划

iphost
192.168.2.102hadoop102Master  Worker  Zookeeper
192.168.2.103hadoop103Master  Worker  Zookeeper
192.168.2.104hadoop104Worker  Zookeeper

启动zookeeper

修改配置文件 spark-env.sh

注释掉原来STANDALONE的配置

#SPARK_MASTER_HOST=hadoop102
#SPARK_MASTER_PORT=7077

添加如下配置

SPARK_MASTER_WEBUI_PORT=8989
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER 
-Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104
-Dspark.deploy.zookeeper.dir=/spark"

提交应用到高可用集群

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop102:7077,hadoop103:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10

四、YARN模式

LOCAL本地模式,计算使用的时本地资源,然而本地计算资源未必是最优的,所以很多时候会使用yarn作为调度资源(很多时候spark本身是安装在hadoop集群的所以yarn模式成为了大家的主要选择)

1、解压安装文件并重命名
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/
mv /opt/module/spark-3.0.0-bin-hadoop3.2/ /opt/module/spark-yarn
2、修改yarn的配置文件

修改后分发到集群的其他机器

vim 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>
3、修改spark的配置文件
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

分发spark-yarn到集群

4、启动hdfs和yarn
5、提交应用
./spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyCharm是一款功能强大的Python集成开发环境(IDE),可以方便地配置和管理Spark运行环境。下面是配置PyCharm与Spark的步骤: 1. 安装Java Development Kit(JDK):首先,确保你已经安装了JDK。你可以从Oracle官网下载并安装适合你操作系统的JDK版本。 2. 下载Spark:访问Apache Spark官网(https://spark.apache.org/downloads.html),选择适合你的Spark版本并下载。 3. 解压Spark:将下载的Spark压缩包解压到你想要安装的目录。 4. 配置环境变量:将Spark的bin目录添加到系统的环境变量中。在Windows系统中,可以在系统属性中的"高级系统设置"中设置环境变量;在Linux或Mac系统中,可以编辑.bashrc或.bash_profile文件,并添加以下行: ``` export SPARK_HOME=/path/to/spark export PATH=$SPARK_HOME/bin:$PATH ``` 5. 打开PyCharm:启动PyCharm,并创建一个新的Python项目。 6. 配置PyCharm与Spark:在PyCharm的菜单栏中,选择"File" -> "Settings"。 7. 在设置窗口中,选择"Project" -> "Project Interpreter"。 8. 点击右上角的齿轮图标,选择"Add..."。 9. 在弹出的窗口中,选择"System Interpreter",然后点击"OK"。 10. 在解释器路径中,选择你的Python解释器。 11. 在"Environment variables"部分,点击"+"按钮添加一个新的环境变量。 12. 设置环境变量名为"PYSPARK_PYTHON",值为你的Python解释器的路径。 13. 点击"OK"保存设置。 现在,你已经成功配置了PyCharm与Spark运行环境。你可以在PyCharm中编写和运行Spark应用程序了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值