infotechsoft/hadoop本镜像提供用于搭建基础Hadoop集群的Dockerfile集合,包含HDFS(namenode、datanode)、YARN(resourcemanager、nodemanager)和Spark submitter组件。所有镜像均继承自hadoop基础镜像,该基础镜像在/opt/目录提供Hadoop安装,并支持通过环境变量配置Hadoop。
Hadoop配置通过以下环境变量组控制,分别对应不同的XML配置文件:
CORE_CONF:影响/etc/hadoop/core-site.xmlHDFS_CONF:影响/etc/hadoop/hdfs-site.xmlYARN_CONF:影响/etc/hadoop/yarn-site.xmlHTTPFS_CONF:影响/etc/hadoop/httpfs-site.xmlKMS_CONF:影响/etc/hadoop/KMS-site.xml由于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属性以下特殊环境变量用于控制配置预设:
配置Hadoop集群以支持多网络访问,会自动设置以下属性:
hdfs-site.xml:
yarn-site.xml:
mapred-site.xml:
指定Ganglia gmond守护进程地址,使Hadoop向其发送metrics数据(需Ganglia采用单播配置)。
为确保集群正常运行,建议:
以上配置可避免Web界面链接无法解析的问题(需配置DNS解析容器名称,使用docker-machine时需配置静态路由)。
Hadoop namenode镜像,启动HDFS名称节点(单实例)。
CLUSTER_NAME:HDFS集群名称(初始化格式化时使用)/hadoop/dfs/name:HDFS文件系统名称目录CLUSTER_NAME:集群名称yamlnamenode: image: uhopper/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>
启动后可通过http://<CONTAINER_IP>:50070访问Web界面。
Hadoop datanode镜像,启动HDFS数据节点(多实例)。
/hadoop/dfs/data:HDFS文件系统数据目录CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020)yamldatanode1: image: uhopper/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
Hadoop resourcemanager镜像,启动YARN资源管理器(单实例)。
CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020)yamlresourcemanager: image: uhopper/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
启动后可通过http://<CONTAINER_IP>:8088访问Web界面。
Hadoop nodemanager镜像,启动YARN节点管理器(多实例)。
CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020)YARN_CONF_yarn_resourcemanager_hostname:resourcemanager主机名yamlnodemanager1: image: uhopper/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
Hadoop-spark镜像,提供配置好的Spark环境,用于Hadoop集群(工具容器,不暴露服务)。
需通过docker run uhopper/hadoop-spark <command>指定命令。常用方式是使用tail -f /var/log/dmesg保持容器运行,然后通过docker exec -ti spark bash进入容器使用Spark环境。
CORE_CONF_fs_defaultFS:HDFS地址(如hdfs://<NAMENODE-HOST>:8020)YARN_CONF_yarn_resourcemanager_hostname:resourcemanager主机名yamlspark: image: uhopper/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




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务