当前位置: 首页 > article >正文

spark集群模式-standalone的配置和使用

其中所需要的python和spark的软件在该文章中

spark-本地模式的配置和简单使用-CSDN博客

环境配置

首先在别的服务器上均要进行python环境的配置

安装spark

1、上传,解压,重命名
tar -zxvf /opt/install/spark-3.1.2-bin-hadoop3.2.tgz -C /opt/modules
mv spark-3.1.2-bin-hadoop3.2/ spark-standalone
2、删除之前本地模式下的软连接
rm -rf spark 
3、建立standalone模式下的软连接
ln -s spark-standalone spark

修改配置文件

spark-env.sh

cd /opt/installs/spark/conf
mv spark-env.sh.template spark-env.sh


export JAVA_HOME=/opt/installs/jdk
export HADOOP_CONF_DIR=/opt/installs/hadoop/etc/hadoop

export SPARK_MASTER_HOST=bigdata01 # 主节点所在的地址
export SPARK_MASTER_PORT=7077 #主节点内部通讯端口,用于接收客户端请求
export SPARK_MASTER_WEBUI_PORT=8080 #主节点用于供外部提供浏览器web访问的端口
export SPARK_WORKER_CORES=1     # 指定这个集群总每一个从节点能够使用多少核CPU
export SPARK_WORKER_MEMORY=1g   #指定这个集群总每一个从节点能够使用多少内存
export SPARK_WORKER_PORT=7078
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_DAEMON_MEMORY=1g  # 进程自己本身使用的内存
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata01:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"

spark-defaults.conf

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

spark.eventLog.enabled           true
spark.eventLog.dir              hdfs://bigdata01:9820/spark/eventLogs
spark.eventLog.compress              true

workers

mv workers.template workers

# 删掉localhost,添加以下内容
bigdata01
bigdata02
bigdata03

log4j.properties

mv log4j.properties.template log4j.properties

# 19行:修改日志级别为WARN
log4j.rootCategory=WARN, console

同步

        然后将修改过配置文件的spark 同步到bigdata02和03,此时同步过去后是不需要修改任何东西的,同步软连接,同步环境变量配置文件。

启动

        启动hdfs

# 第一台机器启动HDFS
start-dfs.sh
# 创建程序运行日志的存储目录(hdfs)
hdfs dfs -mkdir -p /spark/eventLogs/

         启动spark

cd /opt/installs/spark
    
    # 启动master:
    ./sbin/start-master.sh
    
    # 启动所有worker
    ./sbin/start-workers.sh
    
    # 要想启动某个work
    # ./sbin/start-worker.sh
    
    # 启动日志服务
    ./sbin/start-history-server.sh

# 要想关闭某个服务,将start换为stop

页面启动

        master监控页面http://bigdata01:8080/ 通讯端口为7077

        单个job的监控页面http://bigdata01:4040/,只有任务启动后,才能访问,任务结束,就不能访问了

简单使用

1、计算pi——spark-submit

/opt/installs/spark/bin/spark-submit --master spark://bigdata01:7077 /opt/installs/spark/examples/src/main/python/pi.py 200

2、pyspark

cd /opt/installs/spark
./bin/pyspark --master spark://bigdata01:7077


# 需求:将一个包含 1~ 10 共10个元素的列表,使用Spark实现分布式处理,将每个元素的平方输出
 
# 1、定义一个列表
list1 = [1,2,3,4,5,6,7,8,9,10]
# 2、将列表通过SparkContext将数据转换为一个分布式集合RDD——将一个list变为Rdd对象
inputRdd = sc.parallelize(list1)
 
# 获取行数 10行
inputRdd.count()
# 获取前n行的内容 ,放到一个list中,每行占一个
fileRdd.take(3)
 
# 调用Rdd中的map方法 返回还是一个Rdd 
rsRdd = inputRdd.map(lambda x : x**2)
 
# 将结果RDD的每个元素进行输出
rsRdd.foreach(lambda x : print(x))


http://www.kler.cn/a/379321.html

相关文章:

  • torchvision.io.write_video 报错替换
  • 【逆向基础】十八、PE文件格式(三)
  • 占地1.1万平,2亿投资的智能仓储系统:高架库、AGV、码垛机器人……
  • Llama 3.2 Vision Molmo:多模态开源生态系统基础
  • 客如云:大型业务报表的分区化改造提升性能|OceanBase 应用实践
  • 银行金融知识竞赛活动策划方案
  • EJEAS S2滑雪对讲机全球发布会圆满举办,为滑雪市场注入新活力
  • 在Ubuntu上安装TensorFlow与Keras
  • Golang | Leetcode Golang题解之523题连续的子数组和
  • WPF中如何简单的使用MvvmLight创建一个项目并进行 增删改查
  • 【屏幕驱动移植记录】
  • C#如何封装将函数封装为接口dll?
  • 集成学习(2)
  • 前端学习-盒子模型(十八)
  • TensorRT-LLM笔记
  • 数据结构:总览
  • 九,数据类型存储
  • Kubernetes——part9-2 kubernetes集群java项目上云部署
  • 大模型微调
  • ubuntu离线部署ollama
  • Java毕业设计-基于微信小程序的校园二手物品交易系统的实现(V2.0)
  • docker build cache 占用磁盘空间很高
  • SQL,力扣题目1747,应该被禁止的 Leetflex 账户
  • 近期学习前端的心得
  • (三千字心得笔记)零基础C语言入门第七课——二维数组
  • 【面试经典150】day 11