本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Hadoop Sandbox Docker镜像是Hadoop Sandbox项目的容器化实现,提供Hadoop集群核心组件的容器化部署方案。该镜像集合将Hadoop生态系统的关键组件(HDFS、YARN、MapReduce等)拆分为独立镜像,旨在简化Hadoop环境的搭建、配置和管理,适用于Hadoop开发、测试、学***及小型演示场景。
Hadoop Sandbox镜像包含以下核心组件,各组件功能如下:
hdfs、yarn、mapred等)。hadoop),确保运行环境隔离与安全。假设镜像托管于Docker Hub(实际需替换为项目官方仓库地址),拉取命令如下:
# 拉取基础镜像 docker pull hadoop-sandbox/hadoop-base:latest # 拉取客户端镜像 docker pull hadoop-sandbox/hadoop-client:latest # 拉取HDFS组件镜像 docker pull hadoop-sandbox/hadoop-hdfs-namenode:latest docker pull hadoop-sandbox/hadoop-hdfs-datanode:latest # 拉取YARN组件镜像 docker pull hadoop-sandbox/hadoop-yarn-resourcemanager:latest docker pull hadoop-sandbox/hadoop-yarn-nodemanager:latest # 拉取MapReduce作业历史服务器镜像 docker pull hadoop-sandbox/hadoop-mapred-jobhistoryserver:latest
以下为独立运行hadoop-client(客户端节点)的示例,用于通过SSH连接集群:
docker run -d \ --name hadoop-client \ -p 2222:22 \ # 映射SSH端口到主机2222 --network hadoop-net \ # 建议使用自定义网络隔离集群 hadoop-sandbox/hadoop-client:latest
运行后,通过SSH连接客户端节点:
ssh -p 2222 hadoop@localhost # 默认用户:hadoop,密码:hadoop(需参考镜像实际配置)
Hadoop集群需多组件协同工作,推荐使用docker-compose编排部署。以下为最小化集群配置示例(docker-compose.yml):
version: '3.8' networks: hadoop-net: driver: bridge volumes: hdfs-namenode-data: # 持久化Namenode元数据 hdfs-datanode-data: # 持久化Datanode数据块 services: # HDFS Namenode namenode: image: hadoop-sandbox/hadoop-hdfs-namenode:latest container_name: hadoop-namenode networks: - hadoop-net volumes: - hdfs-namenode-data:/hadoop/dfs/name environment: - HDFS_NAMENODE_HOST=namenode # 容器内主机名(与service名一致) - HDFS_REPLICATION_FACTOR=1 # 测试环境副本数设为1 ports: - "9870:9870" # HDFS WebUI端口 restart: unless-stopped # HDFS Datanode datanode: image: hadoop-sandbox/hadoop-hdfs-datanode:latest container_name: hadoop-datanode networks: - hadoop-net volumes: - hdfs-datanode-data:/hadoop/dfs/data environment: - HDFS_NAMENODE_URI=hdfs://namenode:9000 # 连接Namenode地址 depends_on: - namenode restart: unless-stopped # YARN ResourceManager resourcemanager: image: hadoop-sandbox/hadoop-yarn-resourcemanager:latest container_name: hadoop-resourcemanager networks: - hadoop-net ports: - "8088:8088" # YARN WebUI端口 environment: - YARN_RESOURCEMANAGER_HOST=resourcemanager depends_on: - namenode restart: unless-stopped # YARN NodeManager nodemanager: image: hadoop-sandbox/hadoop-yarn-nodemanager:latest container_name: hadoop-nodemanager networks: - hadoop-net environment: - YARN_RESOURCEMANAGER_HOST=resourcemanager - YARN_NODEMANAGER_HOST=nodemanager depends_on: - resourcemanager restart: unless-stopped # MapReduce JobHistoryServer jobhistoryserver: image: hadoop-sandbox/hadoop-mapred-jobhistoryserver:latest container_name: hadoop-jobhistoryserver networks: - hadoop-net ports: - "19888:19888" # JobHistory WebUI端口 environment: - MAPRED_HISTORY_SERVER_HOST=jobhistoryserver depends_on: - resourcemanager restart: unless-stopped # Hadoop Client(SSH访问) client: image: hadoop-sandbox/hadoop-client:latest container_name: hadoop-client networks: - hadoop-net ports: - "2222:22" # SSH端口映射 depends_on: - namenode - resourcemanager restart: unless-stopped
部署步骤:
docker-compose.yml文件,复制上述配置。docker-compose up -d # 后台启动所有服务
http://localhost:9870http://localhost:8088hdfs dfs -ls /各镜像支持通过环境变量自定义配置,常用参数如下(具体以镜像版本为准):
| 环境变量 | 组件 | 说明 | 默认值示例 | 
|---|---|---|---|
| HADOOP_HOME | 所有组件 | Hadoop安装路径 | /opt/hadoop | 
| HDFS_NAMENODE_HOST | namenode | Namenode主机名 | namenode | 
| HDFS_NAMENODE_URI | datanode/client | Namenode访问地址 | hdfs://namenode:9000 | 
| HDFS_REPLICATION_FACTOR | namenode | HDFS默认副本数 | 3(测试环境建议设为1) | 
| YARN_RESOURCEMANAGER_HOST | resourcemanager/nodemanager | ResourceManager主机名 | resourcemanager | 
| MAPRED_HISTORY_SERVER_HOST | jobhistoryserver | JobHistoryServer主机名 | jobhistoryserver | 
volumes持久化Namenode元数据和Datanode数据,避免容器删除导致数据丢失。docker run --memory或docker-compose的deploy.resources配置)。hadoop-net)确保集群组件通信隔离。hadoop/hadoop),生产环境需修改用户密码并限制SSH访问。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429