spark配置

一、本地部署 local

1、准备spark配置文件,并上传到centos

我用夸克网盘分享了「spark-3.0.1-bin-hadoop2.7.tgz」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。

链接:https://pan.quark.cn/s/0c0404eab4bb

2、解压到指定目录

复制代码
tar -zxvf spark-3.0.1-bin-hadoop2.7.tgz -C /root

3、将 spark-3.0.1-bin-hadoop2.7改名为spark-local

复制代码
mv spark-3.0.1-bin-hadoop2.7 spark-local

4、进入spark-local

复制代码
cd spark-local

5、启动spark

复制代码
bin/spark-shell

出现scala这个代表启动成功

6、启动后可以去http://192.168.100.132:4040查看任务执行情况

7、在spark-local目录下新建一个data目录,并编辑一个1.txt,内容如下:

hello world

hello spark

hello java

hello python

8、在scala下执行指令测试一下

复制代码
sc.textFile("data/1.txt").flatMap(_.split("")).map((_,1)).reduceByKey(_+_).collect

9、还可以将idea的文件打包,放在spark中运行

点击maven-->双击package,在下面控制台可以看到保存的路径

将这个压缩包直接上传到centos,不用解压

在spark-local目录下执行下面的指令

复制代码
bin/spark-submit \
--class spark.core.demo \
--master spark://192.168.100.132:7070 \
/root/sparkcore-1.0-SNAPSHOT.jar

二、部署 standalone

1、还是之前的文件spark-3.0.1-bin-hadoop2.7.tgz解压到root下

复制代码
tar -zxvf spark-3.0.1-bin-hadoop2.7.tgz -C /root

2、进入root下,将spark-3.0.1-bin-hadoop2.7名字改为spark-standalone

复制代码
mv spark-3.0.1-bin-hadoop2.7 spark-standalone

3、进入spark-standalone/conf

复制代码
cd spark-standalone/conf

4、将slaves.template重命名为slaves

复制代码
mv slaves.template slaves

5、编辑slaves,把localhost.localdomain改为localhost,

复制代码
vim slaves

6、将spark-env.sh.template 重命名为spark-env.sh

复制代码
mv spark-env.sh.template spark-env.sh

7、编辑spark-env.sh,在文件最后添加三行命令

复制代码
vim spark-env.sh

export JAVA_HOME=/home/jdk1.8.0_144
SPARK_MASTER_HOST=192.168.100.132
SPARK_MASTER_PORT=7077


//如何查看JDK版本:echo $JAVA_HOME

8、回到上一级目录spark-standalone

复制代码
cd ..

9、启动spark进程

复制代码
sbin/start-all.sh

查看进程

10、启动hadoop进程

复制代码
start-all.sh

11、进入http://192.168.100.132:8080

12、执行一条指令试一下

复制代码
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://192.168.100.132:7077 \
./examples/jars/spark-examples_2.12-3.0.1.jar \
10

三、部署历史服务

1、进入/root/spark-standalone/conf

复制代码
cd /root/spark-standalone/conf

2、修改 spark-defaults.conf.template 文件名为 spark-defaults.conf

复制代码
mv spark-defaults.conf.template spark-defaults.conf

3、 修改 spark-default.conf 文件,配置日志存储路径

复制代码
vim spark-defaults.conf

注意:需要启动 hadoop 集群,HDFS 上的 directory 目录需要提前存在。

复制代码
hdfs dfs -mkdir /directory

4、修改 spark-env.sh 文件, 添加日志配置

复制代码
vim spark-env.sh

export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://localhost:9000/directory
-Dspark.history.retainedApplications=30"

5、重新启动集群和历史服务

复制代码
cd /root/spark-standalone
sbin/stop-all.sh
sbin/start-all.sh
sbin/start-history-server.sh

6、重新执行任务

复制代码
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://192.168.100.132:7077 \
./examples/jars/spark-examples_2.12-3.0.1.jar \
10

7、查看历史服务:http://192.168.100.132:18080

四、Yarn模式

1、还是之前的文件spark-3.0.1-bin-hadoop2.7.tgz解压到root下

复制代码
tar -zxvf spark-3.0.1-bin-hadoop2.7.tgz -C /root

2、进入root下,将spark-3.0.1-bin-hadoop2.7名字改为spark-yarn

复制代码
mv spark-3.0.1-bin-hadoop2.7 spark-yarn

3、修改hadoop配置文件/home/hadoop-2.8.2/etc/hadoop/hadoop/yarn-site.xml, 并分发

复制代码
<property>
            <name>yarn.nodemanager.pmem-check-enabled</name>
            <value>false</value>
        </property>
        <property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
        </property>

4、修改conf/spark-env.sh,添加 JAVA_HOME 和YARN_CONF_DIR配置

复制代码
cd /root/spark-yarn/conf
mv spark-env.sh.template spark-env.sh 
vim spark-env.sh

5、启动HDFS 以及YARN集群

复制代码
start-all.sh
start-yarn.sh

6、提交应用

复制代码
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
./examples/jars/spark-examples_2.12-3.0.1.jar \
10

7、进入http://192.168.100.132:8088

相关推荐
科莱特SAP20 分钟前
精准匹配双向赋能:科莱特数智人才猎场重塑数字化人才服务模式
大数据·人工智能·物联网·人力资源·科莱特·科莱特人才服务
飞飞传输28 分钟前
海关行业FTP传输服务器评测:传统FTP与现代化替代方案对比
大数据·运维·安全
番茄炒鸡蛋加糖38 分钟前
分布式 CAP、BASE 理论 & 中间件 CAP 取舍
分布式·中间件
渣渣盟1 小时前
当 Checkpoint 稳定运行后,如何进一步优化 Flink 作业的启动和恢复速度,让大状态作业的扩缩容从“小时级”降到“分钟级”?
大数据·flink
互联网中的一颗神经元10 小时前
04 — 安全撤销:改错了怎么退回去
大数据·安全·elasticsearch
marvelyu14 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
ZCBUS实时计算14 小时前
金融证券实时数仓建设实践:轻量化实时计算平台落地,实现交易数据端到端秒级处理
大数据·数据库·数据仓库·金融·flink·dba·etl
海上小飞龙15 小时前
Redis 分布式锁原理:从 SET NX EX 到 Redisson 看门狗
数据库·redis·分布式
烟雨江南78515 小时前
2026汽车制造与新能源整车柔性产线Agentic-Workflow白皮书:跨APS_MES_ERP多智能体动态排产与装配容错实战
大数据·网络·人工智能·自动化·ai客服·企业agent
明达智控技术16 小时前
国产PLC、远程IO模块在食品包装机的应用
分布式·自动化