本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

spark-hadoop Docker 镜像下载 - 轩辕镜像

spark-hadoop 镜像详细信息和使用指南

spark-hadoop 镜像标签列表和版本信息

spark-hadoop 镜像拉取命令和加速下载

spark-hadoop 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

spark-hadoop
inseefrlab/spark-hadoop

spark-hadoop 镜像详细信息

spark-hadoop 镜像标签列表

spark-hadoop 镜像使用说明

spark-hadoop 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

集成Java 11、Spark和Hadoop的Docker镜像,提供便捷的大数据处理开发与运行环境。
0 次下载activeinseefrlab镜像

spark-hadoop 镜像详细说明

spark-hadoop 使用指南

spark-hadoop 配置说明

spark-hadoop 官方文档

Java 11 Spark - Hadoop Docker 镜像文档

1. 镜像概述和主要用途

本镜像为集成 Java 11 运行时环境、Apache Spark 和 Apache Hadoop 的一站式大数据处理 Docker 镜像。旨在提供开箱即用的大数据开发、测试与运行环境,消除手动配置 Spark 和 Hadoop 集群的复杂性,支持基于 Java 11 的 Spark 应用开发、Hadoop 分布式文件系统(HDFS)操作及批处理/流处理任务执行。

2. 核心功能和特性

2.1 环境集成

  • Java 11:预装 OpenJDK 11 作为基础运行时,满足 Java 11 依赖的应用需求。
  • Apache Spark:集成指定版本 Apache Spark(默认 3.3.x),支持本地模式、Standalone 集群模式及 YARN 资源管理器对接。
  • Apache Hadoop:集成指定版本 Apache Hadoop(默认 3.3.x),包含 HDFS(分布式文件系统)、YARN(资源管理器)、MapReduce 等核心组件。

2.2 核心特性

  • 开箱即用:内置默认配置,无需手动初始化 Spark/Hadoop 集群,启动即可使用。
  • 灵活扩展:支持自定义 Spark 集群规模(Worker 节点数量、资源分配)及 HDFS 存储配置。
  • 轻量优化:基于 Debian Slim 基础镜像构建,最小化镜像体积,降低资源占用。
  • 兼容性:严格适配 Java 11 特性,确保 Spark/Hadoop 组件在 Java 11 环境下稳定运行。
  • 可定制化:支持通过环境变量、配置文件挂载覆盖默认参数,满足个性化需求。

3. 使用场景和适用范围

3.1 开发与测试

  • 大数据开发者本地调试 Spark 应用(Java/Scala/Python),无需搭建复杂集群。
  • 快速验证 HDFS 文件读写、YARN 资源调度等 Hadoop 生态功能。

3.2 教学与学***

  • 高校或培训机构作为 Spark/Hadoop 入门教学环境,简化环境配置步骤。
  • 学***者快速上手分布式计算框架原理与实践操作。

3.3 小型生产任务

  • 轻量级数据处理场景(如每日批处理作业),通过单节点或小规模集群运行。
  • CI/CD 流程集成,自动化测试 Spark 应用兼容性与性能。

3.4 环境标准化

  • 统一开发、测试、生产环境的依赖版本(Java 11/Spark/Hadoop),避免"环境不一致"问题。

4. 使用方法和配置说明

4.1 镜像获取

4.1.1 从 Docker Hub 拉取

bash
docker pull [镜像仓库地址]/java11-spark-hadoop:latest  # 替换为实际镜像仓库地址

4.1.2 本地构建

若需自定义版本,可基于 Dockerfile 构建:

bash
git clone [镜像源码仓库]
cd java11-spark-hadoop
docker build -t java11-spark-hadoop:custom .

4.2 基本使用(本地模式)

4.2.1 启动交互式容器

bash
docker run -it --name spark-hadoop-local \
  -p 4040:4040  # Spark 应用 UI 端口 \
  -p 8080:8080  # Spark Master UI 端口 \
  -p 50070:50070  # HDFS NameNode UI 端口 \
  -v /host/data:/container/data  # 挂载宿主机数据目录 \
  java11-spark-hadoop:latest /bin/bash

4.2.2 验证环境

进入容器后,执行以下命令验证组件可用性:

bash
# 验证 Java 版本
java -version  # 输出 Java 11 版本信息

# 验证 Spark
spark-shell  # 启动 Spark Shell(Scala),进入交互式编程环境

# 验证 HDFS
hdfs dfs -ls /  # 列出 HDFS 根目录(默认空)

4.3 集群模式部署(Docker Compose)

4.3.1 docker-compose.yml 配置示例

适用于启动包含 Spark Master/Worker 及 HDFS NameNode/DataNode 的小规模集群:

yaml
version: '3.8'

services:
  # HDFS NameNode
  namenode:
    image: java11-spark-hadoop:latest
    container_name: hdfs-namenode
    ports:
      - "50070:50070"  # NameNode UI
      - "9000:9000"    # HDFS 服务端口
    environment:
      - HDFS_ROLE=namenode
      - HDFS_NAMENODE_HOST=namenode
    volumes:
      - hdfs-namenode-data:/hadoop/dfs/name
    networks:
      - bigdata-net

  # HDFS DataNode
  datanode:
    image: java11-spark-hadoop:latest
    container_name: hdfs-datanode
    depends_on:
      - namenode
    environment:
      - HDFS_ROLE=datanode
      - HDFS_NAMENODE_HOST=namenode
    volumes:
      - hdfs-datanode-data:/hadoop/dfs/data
    networks:
      - bigdata-net

  # Spark Master
  spark-master:
    image: java11-spark-hadoop:latest
    container_name: spark-master
    ports:
      - "8080:8080"  # Master UI
      - "7077:7077"  # Master 服务端口
    environment:
      - SPARK_ROLE=master
      - SPARK_MASTER_HOST=spark-master
    networks:
      - bigdata-net

  # Spark Worker
  spark-worker:
    image: java11-spark-hadoop:latest
    container_name: spark-worker
    depends_on:
      - spark-master
    environment:
      - SPARK_ROLE=worker
      - SPARK_MASTER_URL=spark://spark-master:7077
      - SPARK_WORKER_CORES=2  # 分配 CPU 核心数
      - SPARK_WORKER_MEMORY=2g  # 分配内存
    networks:
      - bigdata-net

volumes:
  hdfs-namenode-data:
  hdfs-datanode-data:

networks:
  bigdata-net:
    driver: bridge

4.3.2 启动集群

bash
docker-compose up -d  # 后台启动所有服务
docker-compose logs -f  # 查看集群启动日志

4.4 环境变量配置

环境变量名说明默认值
JAVA_HOMEJava 11 安装路径/usr/lib/jvm/java-11-openjdk-amd64
SPARK_VERSIONApache Spark 版本3.3.4
HADOOP_VERSIONApache Hadoop 版本3.3.6
SPARK_ROLESpark 节点角色(master/workerlocal(本地模式)
SPARK_MASTER_HOSTSpark Master 主机地址localhost
SPARK_WORKER_CORESSpark Worker 可用 CPU 核心数1
SPARK_WORKER_MEMORYSpark Worker 可用内存1g
HDFS_ROLEHDFS 节点角色(namenode/datanodestandalone(单节点)
HDFS_NAMENODE_HOSTHDFS NameNode 主机地址localhost

4.5 配置文件自定义

通过挂载宿主机配置文件覆盖默认配置:

bash
docker run -it \
  -v /host/custom/spark-defaults.conf:/opt/spark/conf/spark-defaults.conf \  # Spark 配置
  -v /host/custom/core-site.xml:/opt/hadoop/etc/hadoop/core-site.xml \        # Hadoop 核心配置
  java11-spark-hadoop:latest

4.6 数据持久化

为避免容器重启导致 HDFS 数据丢失,需挂载数据卷:

bash
# 宿主机创建 HDFS 数据目录
mkdir -p /host/hdfs/namenode /host/hdfs/datanode

# 启动容器时挂载
docker run -it \
  -v /host/hdfs/namenode:/hadoop/dfs/name \  # NameNode 元数据
  -v /host/hdfs/datanode:/hadoop/dfs/data \  # DataNode 数据
  java11-spark-hadoop:latest

5. 常见问题

5.1 端口冲突

若宿主机已占用 8080(Spark UI)、50070(HDFS UI)等端口,启动时需修改映射端口:

bash
docker run -it -p 8081:8080 -p 50071:50070 java11-spark-hadoop:latest

5.2 资源不足

Spark/Hadoop 运行时需足够内存,建议宿主机内存 ≥ 4GB,或通过 SPARK_WORKER_MEMORY 限制资源占用。

5.3 HDFS 初始化失败

首次启动 NameNode 需格式化文件系统:

bash
docker exec -it hdfs-namenode hdfs namenode -format

6. 注意事项

  • 本镜像默认配置适用于开发测试环境,生产环境需根据实际负载调整资源分配及高可用配置。
  • 长时间运行的集群建议定期备份 HDFS 数据,避免数据丢失。
  • 如需集成外部服务(如 Hive、HBase),可通过网络连接或自定义镜像扩展。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"