docker spark的独立部署模式,以及linux下二进制包如何实现独立部署

docker spark单机集群的部署

  1. 下载官方镜像 bitnami/spark latest
  2. 运行该镜像 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
    
  3. 以root用户方式进入容器 docker exec -it -u root ID sh
  4. 以提交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

  1. 下载 spark 3.0 安装包
  2. 解压缩到 spark-local
  3. 进入该目录,执行 spark-shell即可使用

二进制安装包下的独立部署

  1. 同上解压缩
  2. 修改配置文件,将目录 conf 下的 slavesspark-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
  3. 接下来为输入该命令为: spark1,spark2 分发 spark 压缩包,sync spark-3.0/ 执行该命令需要退出当前目录
  4. 分发完成后,再进入应用目录,输入该命令启动集群,sbin/start-all.sh
  5. 查看集群内各进程都运行了什么,xcall jps
  6. 访问 localhost:8080 既可查看到集群相关信息

扩展配置

配置历史记录

配置高可用,多 master 节点

docker swarm
参考文章

posted @ 2022-08-16 17:41  lambertlt  阅读(298)  评论(0编辑  收藏  举报