docker spark的独立部署模式,以及linux下二进制包如何实现独立部署
docker spark单机集群的部署
- 下载官方镜像
bitnami/spark latest
- 运行该镜像
docker run -itd -p 8080:8080 -p 7077:7077 --name=spark --network=spark_network -e SPARK_MODE=master bitnami/spark:latest
docker run -itd -p 8080:8080 -p 7077:7077 --name=spark --network=spark_network -e SPARK_MODE=master bitnami/spark:latest docker run -itd -p 8081:8081 --name=spark01 --network=spark_network -e SPARK_MODE=worker -e SPARK_MASTER_URL=spark://spark:7077 bitnami/spark:latest docker run -itd -p 8082:8081 --name=spark02 --network=spark_network -e SPARK_MODE=worker -e SPARK_MASTER_URL=spark://spark:7077 bitnami/spark:latest - 以root用户方式进入容器
docker exec -it -u root ID sh
- 以提交jar包的方式向 spark 运行程序:
spark-submit --class "lambert.fun.Main" /home/xxx.jar
需指明主类,以及jar包位置(除了submit方式,还可以在代码中调用SparkSession
实现调用),提交spark自带的jar包spark-submit —class org.apache.spark.examples.SparkPi --deploy-mode spark ./examples/jars/spark-examples_2.12-3.0.0.jar 10
注意:这是在主节点内提交jar包--master local|spark://master:7077
属性可以指定提交到哪个集群主节点val spark = SparkSession .builder .appName("calc") .config("spark.master", "spark://192.168.1.247:7077") .getOrCreate()
spark submit 的可选参数
linux下二进制包如何安装spark
- 下载 spark 3.0 安装包
- 解压缩到 spark-local
- 进入该目录,执行 spark-shell即可使用
二进制安装包下的独立部署
- 同上解压缩
- 修改配置文件,将目录
conf
下的slaves
和spark-env.sh
的.template
去掉,在slaves
里添加spark1 spark2
,在spark-env.sh
里添加export JAVA_HOME=/opt/module/jdk1.8.0_144 SPARK_MASTER_HOST=spark SPARK_MASTER_PORT=7077
- 接下来为输入该命令为:
spark1,spark2
分发 spark 压缩包,sync spark-3.0/
执行该命令需要退出当前目录 - 分发完成后,再进入应用目录,输入该命令启动集群,
sbin/start-all.sh
- 查看集群内各进程都运行了什么,
xcall jps
- 访问
localhost:8080
既可查看到集群相关信息
扩展配置
配置历史记录
配置高可用,多 master 节点
docker swarm
参考文章
有什么不同见解可以在评论区共同讨论
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现