
本仓库包含基础Hadoop集群的Docker镜像,基于flokkr基础镜像构建,支持多种配置加载机制和扩展插件。通过环境变量可激活不同配置模式,适用于快速部署、配置和管理Hadoop集群,满足从独立Docker环境到多主机分布式部署的需求。
flokkr容器支持多种配置加载机制和扩展,均通过环境变量激活,具体定义见https://github.com/flokkr/docker-baseimage%E3%80%82
| 名称 | 描述 |
|---|---|
| envtoconf | 简单配置加载,适用于独立Docker文件。通过命名约定将环境变量转换为XML/Property等配置格式 |
| consul | 从Consul加载复杂配置,从Consul服务器下载配置并在配置变更时重启服务,适用于多主机部署 |
| btrace | 通过自定义Btrace脚本修改JAVA_OPTS,实现Java进程的动态 instrumentation |
ENVTOCONF:简单配置加载
默认激活(CONFIG_TYPE=simple),可通过环境变量定义配置,自动转换为指定格式并保存到$CONF_DIR目录。配置转换工具源码见https://github.com/elek/envtoconf%E3%80%82
环境变量命名约定
通过以下模式设置配置键:
NAME.EXTENSION_configkey=VALUE
EXTENSION:指定目标文件扩展名,需对应预定义转换格式(当前支持xml、yaml、properties、configuration、env、sh、conf、cfg)示例:
CORE-SITE_fs.default.name: "hdfs://localhost:9000" HDFS-SITE_dfs_namenode_rpc-address: "localhost:9000" HBASE-SITE.XML_hbase_zookeeper_quorum: "localhost"
如需指定与扩展名不同的转换格式,可使用:
NAME.EXTENSION!FORMAT_configkey=VALUE
示例(Kafka server.properties需使用cfg格式):
SERVER.CONF!CFG_zookeeper.address=zookeeper:2181
可用转换格式
:分隔=分隔=分隔export关键字配置参考
| 名称 | 默认值 | 描述 |
|---|---|---|
| CONF_DIR | 容器定义中设置 | 配置文件保存目录 |
| CONFIG_TYPE | simple | 配置类型标识,设为simple时激活该插件 |
CONSUL:Consul配置加载
通过CONFIG_TYPE=consul激活,基于Consul键值存储下载配置文件,并使用consul-template启动应用进程(配置变更时自动重启)。配置加载工具源码见https://github.com/elek/consul-launcher%E3%80%82
| 名称 | 默认值 | 描述 |
|---|---|---|
| CONF_DIR | 容器定义中设置 | 配置文件保存目录 |
| CONFIG_TYPE | consul | 配置类型标识,设为consul时激活该插件 |
| CONSUL_PATH | conf | Consul中配置所在的根路径 |
| CONSUL_KEY | 容器配置所在的子路径,最终路径为$CONSUL_PATH/$CONSUL_KEY |
配置说明:
CONSUL_PATH定义配置根路径(可包含config.ini),CONSUL_KEY为可选子目录。配置文件从$CONSUL_PATH/$CONSUL_KEY下载,配置规则从$CONSUL_PATH/config.ini读取。
BTRACE:Btrace instrumentation
通过BTRACE_ENABLED=true或设置BTRACE_SCRIPT激活,向JAVA_OPTS(或BTRACE_OPTS_VAR指定的变量)注入Btrace javaagent配置。标准输出重定向至/tmp/output.log,Btrace输出通过/tmp/btrace.out显示。
| 名称 | 默认值 | 描述 |
|---|---|---|
| CONF_DIR | 容器定义中设置 | 配置文件保存目录 |
| BTRACE_SCRIPT | <未设置> | 已编译Btrace脚本路径,可绝对路径或相对于/opt/plugins/020_btrace/btrace |
| BTRACE_OPTS_VAR | JAVA_OPTS | 注入agent参数的环境变量名 |
使用内置docker-compose文件启动HDFS和YARN集群:
bashdocker-compose up -d
可通过compose-config文件调整配置。
扩展datanode/namenode数量:
bashdocker-compose scale datanode=3
在ResourceManager容器中运行MapReduce示例任务:
bashdocker-compose exec resourcemanager /opt/hadoop/bin/yarn jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar pi 16 1000
2.8.1)HDP-2.6.5)使用内置Makefile构建:
bashmake build
可通过VERSION和URL环境变量指定特定版本:
bashVERSION=2.9.2 URL=[***] make build
以下是 flokkr/hadoop 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务