
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像包含用于搭建基本Hadoop集群的Dockerfile,可部署HDFS、YARN组件及Spark submitter。所有镜像均继承自基础hadoop镜像,该基础镜像在/opt/目录下提供Hadoop安装,并支持通过环境变量配置Hadoop。
适用于开发、测试环境中快速搭建Hadoop集群,或需要灵活配置Hadoop环境的场景。支持自定义Hadoop属性,可根据需求扩展集群规模。
Hadoop配置通过以下环境变量组控制,每个环境变量组对应一个Hadoop配置文件:
| 环境变量组 | 对应配置文件 |
|---|---|
CORE_CONF | /etc/hadoop/core-site.xml |
HDFS_CONF | /etc/hadoop/hdfs-site.xml |
YARN_CONF | /etc/hadoop/yarn-site.xml |
HTTPFS_CONF | /etc/hadoop/httpfs-site.xml |
KMS_CONF | /etc/hadoop/KMS-site.xml |
环境变量命名规则
通过设置<PREFIX>_<PROPERTY>格式的环境变量来配置Hadoop属性。由于Docker和docker-compose对环境变量名的限制,属性名需进行如下替换:
_ → .(单下划线替换为点)__ → _(双下划线替换为单下划线)___ → -(三下划线替换为连字符)配置示例
CORE_CONF_fs_defaultFS:设置core-site.xml中的fs.defaultFS属性YARN_CONF_yarn_log___aggregation___enable:设置yarn-site.xml中的yarn.log-aggregation-enable属性以下特殊环境变量提供配置预设功能:
MULTIHOMED_NETWORK
配置Hadoop集群以支持多网络访问,自动设置以下属性:
hdfs-site.xml:
yarn-site.xml:
mapred-site.xml:
GANGLIA_HOST
指定Ganglia gmond守护进程地址,使Hadoop向其发送metrics(需Ganglia unicast配置)。
为确保集群正常运行,建议:
namenode
启动Hadoop NameNode(单实例)。
环境变量:
CLUSTER_NAME:HDFS集群名称(初始化格式化时使用,必填)GANGLIA_HOST:Ganglia gmond地址(可选)卷:
/hadoop/dfs/name:HDFS文件系统名称目录docker-compose模板:
yamlnamenode: image: falkonry/hadoop-namenode hostname: namenode container_name: namenode domainname: hadoop net: hadoop volumes: - <NAMENODE-VOLUME>:/hadoop/dfs/name environment: - GANGLIA_HOST=<GMOND-RECEIVER-HOST> - CLUSTER_NAME=<CLUSTER-NAME>
WebUI访问:http://<CONTAINER_IP>:50070
datanode
启动Hadoop DataNode(多实例)。
环境变量:
CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020,必填)GANGLIA_HOST:Ganglia gmond地址(可选)卷:
/hadoop/dfs/data:HDFS文件系统数据目录docker-compose模板:
yamldatanode1: image: falkonry/hadoop-datanode hostname: datanode1 container_name: datanode1 domainname: hadoop net: hadoop volumes: - <DATANODE-VOLUME>:/hadoop/dfs/data environment: - GANGLIA_HOST=<GMOND-RECEIVER-HOST> - CORE_CONF_fs_defaultFS=hdfs://<NAMENODE-HOST>:8020
resourcemanager
启动Hadoop ResourceManager(单实例)。
环境变量:
CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020,必填)GANGLIA_HOST:Ganglia gmond地址(可选)YARN_CONF_yarn_log___aggregation___enable:启用日志聚合(如true)docker-compose模板:
yamlresourcemanager: image: falkonry/hadoop-resourcemanager hostname: resourcemanager container_name: resourcemanager domainname: hadoop net: hadoop environment: - GANGLIA_HOST=<GMOND-RECEIVER-HOST> - CORE_CONF_fs_defaultFS=hdfs://<NAMENODE-HOST>:8020 - YARN_CONF_yarn_log___aggregation___enable=true
WebUI访问:http://<CONTAINER_IP>:8088
nodemanager
启动Hadoop NodeManager(多实例)。
环境变量:
CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020,必填)YARN_CONF_yarn_resourcemanager_hostname:ResourceManager主机名(必填)GANGLIA_HOST:Ganglia gmond地址(可选)YARN_CONF_yarn_log___aggregation___enable:启用日志聚合(如true)YARN_CONF_yarn_nodemanager_remote___app___log___dir:远程应用日志目录(如/app-logs)docker-compose模板:
yamlnodemanager1: image: falkonry/hadoop-nodemanager hostname: nodemanager1 container_name: nodemanager1 domainname: hadoop net: hadoop environment: - GANGLIA_HOST=<GMOND-RECEIVER-HOST> - CORE_CONF_fs_defaultFS=hdfs://<NAMENODE-HOST>:8020 - YARN_CONF_yarn_resourcemanager_hostname=<RESOURCEMANAGER-HOST> - YARN_CONF_yarn_log___aggregation___enable=true - YARN_CONF_yarn_nodemanager_remote___app___log___dir=/app-logs
spark
提供配置好的Spark环境,用于向Hadoop集群提交作业(无服务暴露)。
环境变量:
CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020,必填)YARN_CONF_yarn_resourcemanager_hostname:ResourceManager主机名(必填)使用方式:通过docker run falkonry/hadoop-spark <command>指定命令,或使用tail -f /var/log/dmesg保持容器运行后通过docker exec进入环境。
docker-compose模板:
yamlspark: image: falkonry/hadoop-spark hostname: spark container_name: spark domainname: hadoop net: hadoop environment: - CORE_CONF_fs_defaultFS=hdfs://namenode:8020 - YARN_CONF_yarn_resourcemanager_hostname=resourcemanager command: tail -f /var/log/dmesg
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 falkonry/hadoop 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: