Docker 部署分布式 Hadoop(超详细实战版)
Docker 部署分布式 Hadoop超详细实战版一背景二部署1创建基础镜像2创建 Hadoop3启动 Hadoop4保存镜像总结适合人群大数据初学者、运维工程师、想在本地快速搭建 Hadoop 集群的同学技术环境CentOS 7 Docker Hadoop 2.7.2架构模式1 Master 2 Slave 分布式集群一背景在传统方式下部署 Hadoop需要准备多台虚拟机手动配置网络、主机名、SSH 免密重复安装 JDK、Hadoop环境不可复用而使用 Docker 的优势✅ 环境隔离✅ 一台机器模拟多节点✅ 可快速销毁重建✅ 镜像可复用✅ 非常适合学习与实验在真实生产中例如在基于 Apache Hadoop 的数据平台环境中也常结合容器化与编排技术使用。二部署1创建基础镜像查看系统版本[roothadoop108 ~]# uname -r3.10.0-862.el7.x86_64安装 Docker[roothadoop108 ~]# yum install -y docker启动 Docker[roothadoop108 ~]# systemctl start docker设置 Docker 开机自启[roothadoop108 ~]# systemctl enable docker查看 Docker 状态[roothadoop108 ~]# systemctl status docker配置 Docker 镜像加速器[roothadoop108 ~]# vim /etc/docker/daemon.json{ registry-mirrors: [https://3iy7bctt.mirror.aliyuncs.com] }[roothadoop108 ~]# systemctl daemon-reload[roothadoop108 ~]# systemctl restart docker[roothadoop108 ~]# docker info搜索并拉取 CentOS 镜像[roothadoop108 ~]# docker search centos[roothadoop108 ~]# docker pull centos:7查看镜像列表[roothadoop108 ~]# docker images运行 CentOS 容器带特权模式用于启动 systemd 服务[roothadoop108 ~]# docker run --privilegedtrue --name centos7 -h hadoop -itd centos:7 /usr/sbin/init查看运行中的容器[roothadoop108 ~]# docker ps进入容器[roothadoop108 ~]# docker exec -it centos7 /bin/bash在容器内安装必要工具[roothadoop ~]# yum install -y vim net-tools openssh-server openssh-clients rsync配置 SSH 服务并启动[roothadoop ~]# vim /etc/ssh/sshd_configPort22PermitRootLoginyes[roothadoop ~]# systemctl start sshd.service[roothadoop ~]# systemctl enable sshd.service[roothadoop ~]# systemctl status sshd.service创建软件目录[roothadoop ~]# mkdir -p /opt/module /opt/software退出容器并提交为新的镜像[roothadoop ~]# exit[roothadoop108 ~]# docker commit 容器ID centos:hadoop[roothadoop108 ~]# docker images2创建 Hadoop基于新镜像启动 Master 和 Slave 容器[roothadoop108 ~]# docker run --privilegedtrue --name master -h master -p 50070:50070 -itd centos:hadoop /usr/sbin/init[roothadoop108 ~]# docker run --privilegedtrue --name slave01 -h slave01 -p 8088:8088 -itd centos:hadoop /usr/sbin/init[roothadoop108 ~]# docker run --privilegedtrue --name slave02 -h slave02 -itd centos:hadoop /usr/sbin/init进入容器配置 hosts 文件在每个容器中执行[rootmaster ~]# vim /etc/hosts172.17.0.3 master172.17.0.4 slave01172.17.0.5 slave02设置 root 密码[rootmaster ~]# passwd root[rootslave01 ~]# passwd root[rootslave02 ~]# passwd root配置 SSH 免密登录[rootmaster ~]# ssh-keygen -t rsa[rootmaster ~]# ssh-copy-id master[rootmaster ~]# ssh-copy-id slave01[rootmaster ~]# ssh-copy-id slavse02从宿主机拷贝 Hadoop 和 JDK 安装包到容器[roothadoop108 ~]# docker cp jdk-8u144-linux-x64.tar.gz master:/opt/software[roothadoop108 ~]# docker cp hadoop-2.7.2.tar.gz master:/opt/software安装 JDK[rootmaster ~]# tar -xzvf /opt/software/jdk-8u144-linux-x64.tar.gz -C /opt/module/[rootmaster ~]# vim /etc/profile# JAVA_HOMEexportJAVA_HOME/opt/module/jdk1.8.0_144exportCLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH$PATH:$JAVA_HOME/bin[rootmaster ~]# source /etc/profile[rootmaster ~]# java -version安装 Hadoop[rootmaster ~]# tar -xzvf /opt/software/hadoop-2.7.2.tar.gz -C /opt/module/[rootmaster ~]# vim /etc/profile# HADOOP_HOMEexportHADOOP_HOME/opt/module/hadoop-2.7.2exportPATH$PATH:$HADOOP_HOME/binexportPATH$PATH:$HADOOP_HOME/sbin[rootmaster ~]# source /etc/profile[rootmaster ~]# hadoop version配置 Hadoop 配置文件[rootmaster ~]# cd /opt/module/hadoop-2.7.2/etc/hadoop配置core-site.xmlconfiguration property namefs.defaultFS/name valuehdfs://master:9000/value /property property namehadoop.tmp.dir/name value/opt/module/hadoop-2.7.2/data/tmp/value /property /configuration配置hadoop-env.shexport JAVA_HOME/opt/module/jdk1.8.0_144配置hdfs-site.xmlproperty namedfs.replication/name value3/value /property property namedfs.namenode.secondary.http-address/name valueslave02:50090/value /property property namedfs.permissions.enabled/name valuefalse/value /property配置slaves文件master slave01 slave02配置yarn-env.shexport JAVA_HOME/opt/module/jdk1.8.0_144配置yarn-site.xmlproperty nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property property nameyarn.resourcemanager.hostname/name valueslave01/value /property配置mapred-site.xml[rootmaster hadoop]# mv mapred-site.xml.template mapred-site.xmlproperty namemapreduce.framework.name/name valueyarn/value /property配置mapred-env.shexport JAVA_HOME/opt/module/jdk1.8.0_144分发配置文件到 slave 节点[rootmaster ~]# scp -r /opt/module/jdk1.8.0_144/ rootslave01:/opt/module/[rootmaster ~]# scp -r /opt/module/jdk1.8.0_144/ rootslave02:/opt/module/[rootmaster ~]# scp -r /opt/module/hadoop-2.7.2/ rootslave01:/opt/module/[rootmaster ~]# scp -r /opt/module/hadoop-2.7.2/ rootslave02:/opt/modusle/在 slave 节点配置环境变量在 slave01 和 slave02 中执行[rootslave01 ~]# vim /etc/profile# JAVA_HOMEexportJAVA_HOME/opt/module/jdk1.8.0_144exportCLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH$PATH:$JAVA_HOME/bin# HADOOP_HOMEexportHADOOP_HOME/opt/module/hadoop-2.7.2exportPATH$PATH:$HADOOP_HOME/binexportPATH$PATH:$HADOOP_HOME/sbin[rootslave01 ~]# source /etc/profile3启动 Hadoop格式化 HDFS 并启动 Hadoop在 master 节点执行[rootmaster ~]# hdfs namenode -format[rootmaster ~]# start-dfs.sh在 slave01 节点执行[rootslave01 ~]# start-yarn.sh浏览器访问HDFShttp://宿主机IP:50070YARNhttp://宿主机IP:80884保存镜像停止 Hadoop 集群[rootslave01 ~]# stop-yarn.sh[rootmaster ~]# stop-dfs.sh将容器提交为镜像[roothadoop108 ~]# docker commit master centos:master[roothadoop108 ~]# docker commit slave01 centos:slave01[roothadoop108 ~]# docker commit slave02 centos:slave02总结本文完整演示了制作 Hadoop 基础镜像构建三节点集群配置 SSH 免密配置 HDFS YARN启动并验证 Web UI保存为可复用镜像核心思想用 Docker 模拟分布式环境用容器复刻真实大数据架构对于正在做大数据方向学习或毕业设计的同学这种方式可以极大降低实验成本。

相关新闻

Java Web +游戏交易系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

Java Web +游戏交易系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着互联网技术的快速发展,游戏产业逐渐成为数字经济的重要组成部分,游戏交易需求日益增长。传统的游戏交易方式存在安全性低、效率不足、用户体验差等问题,亟需一种高效、安全、便捷的在线交易平台。基于Java Web的游戏交易系统能够满…

2026/7/3 10:25:01 阅读更多 →
用不着下18层地狱-----现在就送你进入回调地狱

用不着下18层地狱-----现在就送你进入回调地狱

名字说的那么恐怖,不就是逻辑有点乱吗?static public int like(Context context, Plan plan, String id) {LikeCallback likeCallback new LikeCallback() {Overridepublic void onNetFinish(String rv) {//这一句已经把以前的记录全都删除了&#xff0…

2026/5/17 4:50:38 阅读更多 →
用大白话讲解人工智能(4) Softmax回归:AI如何给选项“打分排序“

用大白话讲解人工智能(4) Softmax回归:AI如何给选项“打分排序“

Softmax回归:AI如何给选项"打分排序"? 从"选秀比赛打分"说起 假设你是《中国好声音》的评委,面前有三位选手: 选手A:演唱得90分,舞台表现85分选手B:演唱得85分,…

2026/5/17 4:50:33 阅读更多 →

最新新闻

2026年AI写歌软件实测 中文创作哪款效果最好

2026年AI写歌软件实测 中文创作哪款效果最好

2026年AI音乐创作已经彻底走进大众视野,从随手记录日常心情、制作短视频BGM,到独立音乐人打磨原创Demo、商用发行正式单曲,AI写歌软件都成了高效的创作工具。但很多国内用户在挑选时都容易踩坑:海外头部工具中文咬字跑调、访问不稳…

2026/7/3 10:19:06 阅读更多 →
Java计算机毕设之基于 SpringBoot 的企业薪酬发放与固定资产盘点管理系统 公司财务收支与员工绩效考评管理系统(完整前后端代码+说明文档+LW,调试定制等)

Java计算机毕设之基于 SpringBoot 的企业薪酬发放与固定资产盘点管理系统 公司财务收支与员工绩效考评管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/3 10:19:06 阅读更多 →
Xshell四

Xshell四

ps 静态查看进程 用途:一次性快照输出当前系统所有进程信息,属于静态查看,执行一次就结束,常用于搭配管道筛选进程。(特定时间点) 核心参数用法: -e参数指定显示所有运行在系统上的进程&#xf…

2026/7/3 10:17:03 阅读更多 →
基于虚拟机的Python Web自动化测试环境搭建与配置指南

基于虚拟机的Python Web自动化测试环境搭建与配置指南

1. 项目概述:为什么需要一个标准化的自动化测试环境?如果你是一名Web开发者或者测试工程师,每天手动在Chrome、Firefox、Safari以及各种版本的浏览器上重复点击、输入、验证,很快就会感到疲惫不堪且效率低下。更别提还要考虑不同操…

2026/7/3 10:09:00 阅读更多 →
【紧急更新】2024软考论文新大纲适配模板:3类新型命题(AI治理/信创迁移/云原生)专用结构包

【紧急更新】2024软考论文新大纲适配模板:3类新型命题(AI治理/信创迁移/云原生)专用结构包

更多请点击: https://intelliparadigm.com 第一章:软考论文新大纲核心变化与适配策略 2024年起,全国计算机技术与软件专业技术资格(水平)考试高级资格“信息系统项目管理师”论文科目正式启用全新写作大纲。本次调整不…

2026/7/3 10:06:59 阅读更多 →
如何快速定位Windows热键冲突:专业检测工具终极指南

如何快速定位Windows热键冲突:专业检测工具终极指南

如何快速定位Windows热键冲突:专业检测工具终极指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾经…

2026/7/3 10:04:57 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻