云服务器配置 docker-spark

云服务器配置 docker-spark

  • [1. 安装](#1. 安装)
  • [2. 启动](#2. 启动)
  • [3. 查看](#3. 查看)
  • [4. 验证](#4. 验证)
  • [5. 其他](#5. 其他)

1. 安装

我的服务器是腾讯云轻量应用服务器,2 核 2 G,已经内置了 docker, 配置大概如下:

复制代码
ubuntu@VM-20-5-ubuntu
---------------------
OS: Ubuntu 22.04 LTS x86_64
Host: CVM 3.0
Kernel: 5.15.0-86-generic
Uptime: 1 hour, 9 mins
Packages: 759 (dpkg), 4 (snap)
Shell: bash 5.1.16
Resolution: 1024x768
Terminal: /dev/pts/4
CPU: AMD EPYC 7K62 (2) @ 2.595GHz
GPU: 00:02.0 Cirrus Logic GD 5446
Memory: 1287MiB / 1963MiB

由于规格比较小,所以并不能够撑起较大的服务,我之前按照这个[1](#1)配置过一版,直接卡掉,重启才行

后来找了个小型的,参考这个[2](#2)

首先找个地方创建docker-compose.yml,我的配置如下:

yml 复制代码
version: "2"
services:
  master:
    image: singularities/spark
    command: start-spark master
    hostname: master
    ports:
      - "6066:6066"
      - "7070:7070"
      - "8080:8080"
      - "50070:50070"
  worker:
    image: singularities/spark
    command: start-spark worker master
    environment:
      SPARK_WORKER_CORES: 1
      SPARK_WORKER_MEMORY: 1g
    links:
      - master

主要是将woker节点的内存改小了,毕竟服务器规格也小

2. 启动

主要就是这个命令

复制代码
docker-compose up -d

3. 查看

得先去控制台防火墙添加一下 50070 和 8080 这两个端口

接着用云服务公网地址加上端口号就可以访问

4. 验证

先进入容器:

复制代码
docker exec -it 0c7 /bin/bash

然后去 Spark 的安装位置:

复制代码
cd /usr/local/spark-2.2.1

接着运行示例:

bash 复制代码
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master:7077 \
--executor-memory 1g \
--total-executor-cores 1 \
./examples/jars/spark-examples_2.11-2.2.1.jar \
10

5. 其他

之前配置的时候,感觉机器内存小,所以启动容器的时候给worker节点分配了200M的内存,然后就寄了

spark提交任务的时候似乎是有一个最小内存的限制,具体分析可以看这个[3](#3)

由于这里分配的内存太小,所以触发了这个限制,导致任务无法运行

后来就改成分配 1 G 的内容了

还有一个问题就是 Docker 总是需要敲 sudo,可以参考这个[4](#4)

以及修改 SSH 连接时长,可以参考这个[5](#5)

清理 Docker 镜像和容器,可以参考这个[6](#6)


  1. 腾讯云服务器下利用 Docker 极速搭建 Spark 集群和 HDFS 集群_腾讯云 spark集群-CSDN博客 ↩︎

  2. Docker 搭建Spark 依赖singularities/spark:2.2镜像 - hongdada - 博客园 ↩︎

  3. Spark程序排错系列(System memory * must be at least *)_system memory must be at least-CSDN博客 ↩︎

  4. docker命令不需要敲sudo的方法 - yuchen16 - 博客园 ↩︎

  5. 解决ssh连接云服务器长时间不操作断连问题(适用于腾讯和阿里服务器)_腾讯云ssh长时间不使用-CSDN博客 ↩︎

  6. 停止、删除所有的docker容器和镜像 - 知乎 ↩︎

相关推荐
say_fall1 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
无奈笑天下10 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
火云代理14 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
威嵌神州14 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
java_logo15 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb16 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理17 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖18 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
星恒随风19 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无足鸟ICT20 小时前
【RHCA+】IO调度算法
linux·服务器