本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache Hadoop 是一个软件框架,支持通过简单编程模型在计算机集群上分布式处理大型数据集。它设计之初就支持从单台服务器扩展到数千台机器,每台机器均提供本地计算和存储能力。与依赖硬件实现高可用不同,Hadoop 框架本身在应用层设计了故障检测和处理机制,因此即便集群中部分机器可能发生故障,仍能提供高可用服务。
通过拉取相关 Docker 镜像并指定必要配置,即可搭建 Hadoop 集群。
文件内容如下:
version: "2" services: namenode: image: apache/hadoop:3 hostname: namenode command: ["hdfs", "namenode"] ports: - 9870:9870 env_file: - ./config environment: ENSURE_NAMENODE_DIR: "/tmp/hadoop-root/dfs/name" datanode: image: apache/hadoop:3 command: ["hdfs", "datanode"] env_file: - ./config resourcemanager: image: apache/hadoop:3 hostname: resourcemanager command: ["yarn", "resourcemanager"] ports: - 8088:8088 env_file: - ./config volumes: - ./test.sh:/opt/test.sh nodemanager: image: apache/hadoop:3 command: ["yarn", "nodemanager"] env_file: - ./config
如需构建其他版本(如 Apache Hadoop 3.3.5),修改 image: apache/hadoop:3 为对应版本即可,例如 image: apache/hadoop:3.3.5。
文件内容如下,可按类似格式添加或替换配置项:
CORE-SITE.XML_fs.default.name=hdfs://namenode CORE-SITE.XML_fs.defaultFS=hdfs://namenode HDFS-SITE.XML_dfs.namenode.rpc-address=namenode:8020 HDFS-SITE.XML_dfs.replication=1 MAPRED-SITE.XML_mapreduce.framework.name=yarn MAPRED-SITE.XML_yarn.app.mapreduce.am.env=HADOOP_MAPRED_HOME=$HADOOP_HOME MAPRED-SITE.XML_mapreduce.map.env=HADOOP_MAPRED_HOME=$HADOOP_HOME MAPRED-SITE.XML_mapreduce.reduce.env=HADOOP_MAPRED_HOME=$HADOOP_HOME YARN-SITE.XML_yarn.resourcemanager.hostname=resourcemanager YARN-SITE.XML_yarn.nodemanager.pmem-check-enabled=false YARN-SITE.XML_yarn.nodemanager.delete.debug-delay-sec=600 YARN-SITE.XML_yarn.nodemanager.vmem-check-enabled=false YARN-SITE.XML_yarn.nodemanager.aux-services=mapreduce_shuffle CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.maximum-applications=10000 CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.maximum-am-resource-percent=0.1 CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.queues=default CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.capacity=100 CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.user-limit-factor=1 CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.maximum-capacity=100 CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.state=RUNNING CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.acl_submit_applications=* CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.acl_administer_queue=* CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.node-locality-delay=40 CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.queue-mappings= CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.queue-mappings-override.enable=false
执行 ls -l 命令,应能看到上述创建的两个文件:
docker-3 % ls -l -rw-r--r-- 1 hadoop apache 2547 Jun 23 15:53 config -rw-r--r-- 1 hadoop apache 1533 Jun 23 16:07 docker-compose.yaml
通过 docker-compose 启动集群:
docker-compose up -d
预期输出如下:
docker-3 % docker-compose up -d Creating network "docker-3_default" with the default driver Creating docker-3_namenode_1 ... done Creating docker-3_datanode_1 ... done Creating docker-3_nodemanager_1 ... done Creating docker-3_resourcemanager_1 ... done
通过指定容器名称登录任意节点,例如登录 namenode:
docker exec -it docker-3_namenode_1 /bin/bash
执行以下命令运行 Pi 计算任务:
yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar pi 10 15
类似地,可运行其他 Hadoop 相关命令。
执行以下命令停止并移除集群容器:
docker-compose down
上述示例适用于 Hadoop-3.x 版本。若需搭建 Hadoop-2.x 集群,需使用不同的配置和 docker-compose 文件,可参考:[***]
Hadoop Docker 镜像基于特定分支构建:
可通过 Hadoop 邮件列表联系开发者:[***]
更多信息请访问 Hadoop 官网:[***]
免费版仅支持 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