Spark StandAlone环境部署

1:集群规划

使用三台Linux虚拟机来组成集群环境, 非别是:

master\ slave1\ slave2

master运行: Spark的Master进程  和 1个Worker进程

slave1运行: spark的1个worker进程

slave2运行: spark的1个worker进程

整个集群提供: 1个master进程 和 3个worker进程

masterslave1slave2
192.168.204.130192.168.204.131192.168.204.132

基于前面博客Spark Local环境部署

2:spark配置文件部署 

1:进入到spark c的配置文件conf目录中, 

cd /export/spark/conf/

2:配置workers文件

mv workers.template workers
vim workers
master
slave1
slave2

3:配置spark-env.sh文件

mv spark-env.sh.template spark-env.sh
vim spark-env.sh
# 设置JAVA安装目录
JAVA_HOME=/export/jdk

# HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群
HADOOP_CONF_DIR=/export/hadoop/etc/hadoop
YARN_CONF_DIR=/export/hadoop/etc/hadoop

#指定spark老大Master的IP和提交任务的通信端口告知Spark的master运行在哪个机器上
export SPARK_MASTER_HOST=master
# 告知sparkmaster的通讯端口
export SPARK_MASTER_PORT=7077
# 告知spark master的 webui端口
SPARK_MASTER_WEBUI_PORT=8080

# worker cpu可用核数
SPARK_WORKER_CORES=1
# worker可用内存
SPARK_WORKER_MEMORY=1g
# worker的工作通讯地址
SPARK_WORKER_PORT=7078
# worker的 webui地址
SPARK_WORKER_WEBUI_PORT=8081

# 设置历史服务器
# 配置的意思是  将spark程序运行的历史日志 存到hdfs的/sparklog文件夹中
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"

4:启动hadoop集群

     我的想法是可以启动的全部启动

start-all.sh 
端口: 9870   8088

mapred --daemon start historyserver
19888
端口:19888 yarn MR程序历史服务器web端地址

5:在HDFS上创建程序运行历史记录存放的文件夹:

hadoop fs -mkdir /sparklog
hadoop fs -chmod 777 /sparklog

6:配置spark-defaults.conf文件

mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf
#set paste  #防止粘贴注释
# 开启spark的日期记录功能
spark.eventLog.enabled 	true
# 设置spark日志记录的路径
spark.eventLog.dir	 hdfs://master:8020/sparklog/ 
# 设置spark日志是否启动压缩
spark.eventLog.compress 	true

7:配置log4j.properties 文件 [可选配置]

(这个文件为什么spark3.4里面没有,在spark3.2有这个文件,如果不修改,运行程序会有好多废话,但是程序是正常跑的,)

mv log4j.properties.template log4j.properties
vim log4j.properties

 

 

3:分发spark目录

cd /export
scp -r spark slave1:/export/
scp -r spark slave2:/export/

4:启动集群

1:启动历史服务器

cd /export/spark
sbin/start-history-server.sh
#端口 18080
#ps -ef|grep 端口号 查看进程是哪个软件

2: 启动Spark的Master和Worker进程

# 启动全部master和worker
/export/spark/sbin/start-all.sh
#端口:8080 ---808x

5:连接到StandAlone集群

cd /export/spark
bin/pyspark --master spark://master:7077

# 通过--master选项来连接到 StandAlone集群
# 如果不写--master选项, 默认是local模式运行

 

 sc.parallelize([1,23,4,45,65,6,7]).map(lambda x: x*10).collect()

 

 

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值