使用 Docker 部署 Hadoop 集群
一、前言
本文基于虚拟机中的 Docker 引擎部署 Hadoop 集群,适合入门用户参考。Docker 官网提供了详细的安装教程(Docker 安装教程),本文将逐步讲解具体操作流程。
二、知识准备
1. 什么是虚拟机?
虚拟机(Virtual Machine, VM)是通过软件模拟物理计算机硬件运行环境的程序或系统,允许多个操作系统在同一物理机上同时运行。其通过虚拟化技术抽象物理资源(CPU、内存等),为每个虚拟机提供独立环境,彼此隔离。
- 类型:系统虚拟机(如 VMware、VirtualBox,可运行完整操作系统)和进程虚拟机(如 Java 虚拟机,用于特定应用)。
- 优势:资源利用率高、灵活性强、易于管理,适用于服务器虚拟化、开发测试等场景。
- 本文使用 VMware,参考安装教程:VMware 安装保姆级教程。
2. 什么是 Docker?

Docker 是开源的应用开发、交付和运行平台,支持在 Windows、macOS、Linux 上运行,将应用及依赖打包到容器中,实现跨环境一致运行。
核心概念:
- 容器(Container):镜像的运行实例,轻量级可执行软件包,包含代码、运行时、系统工具等,确保应用在任何环境运行一致。
- 镜像(Image):构建容器的只读模板,通过 Dockerfile 定义构建指令。
- 仓库(Registry):存储和分发镜像的平台(如公共 Docker Hub)。
特点:
- 可移植性:跨平台运行,部署迁移简单。
- 隔离性:容器间相互隔离,互不影响。
- 轻量级:无需启动完整操作系统,启动快、资源占用少。
- 安全性:隔离环境限制资源访问,提供额外安全层。
工作流程:
- 编写 Dockerfile(定义依赖、环境等);
- 构建镜像;
- 运行容器实例;
- 管理容器(启动、停止等);
- 推送镜像到仓库供其他机器使用。
3. 什么是 Hadoop?
Hadoop 是 Apache 基金会的分布式系统基础架构,简化分布式程序开发,利用集群进行高速运算和存储。核心组件包括:
- HDFS(Hadoop Distributed File System):高容错的分布式文件系统,适合部署在低成本硬件,提供高吞吐量访问,放宽 POSIX 要求以支持流式数据访问。
- MapReduce:分布式计算框架,处理海量数据。
三、所需软件清单
| 软件名称 | 作用 | 下载 / 安装地址 |
|---|---|---|
| VMware | 虚拟化硬件和操作系统 | VMware 安装教程 |
| CentOS | 操作系统 | 百度网盘:CentOS-7.5-x86_64-DVD-1804.iso(提取码:udwy) |
| JDK + Hadoop | 运行环境和框架 | 百度网盘:资料包(提取码:h2xv) |
四、详细步骤
1. 安装 VMware 并创建虚拟机
参考VMware 安装教程完成安装,然后新建虚拟机,硬件配置及操作系统安装步骤如下:(注:原文图片展示了虚拟机配置流程,实际操作中需根据向导完成磁盘、内存等设置,并加载 CentOS 镜像文件)
(1) 硬件配置

在这里插入图片描述














(2)操作系统安装,[安装包附上](通过网盘分享的文件:CentOS-7.5-x86_64-DVD-1804.iso链接: https://pan.baidu.com/s/17IDhheZHzKiKSTbXIiBxyA 提取码: udwy --来自百度网盘超级会员v3的分享)









(3)打开虚拟机进行初始化(时间较长,耐心等待)
配置完成后,点击“安装”



2. 在 CentOS 中安装 Docker 引擎
(1)更新 yum 到最新
sudo yum update -y
yum:CentOS 包管理器;-y:自动确认所有操作。
(2)卸载旧版本 Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(3)安装依赖工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
device-mapper-persistent-data:Docker 管理支持;lvm2:逻辑卷管理工具。
(4)添加阿里云 Docker 源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(5)安装 Docker 社区版
sudo yum install -y docker-ce
(6)配置镜像加速器(解决下载慢问题)
编辑配置文件:
sudo vim /etc/docker/daemon.json
添加内容:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.jianmuhub.com",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://dockerhub1.beget.com",
"https://noohub.ru"
],
"dns": ["114.15.15.114", "8.8.8.8"]
}
重启 Docker 服务:
sudo systemctl daemon-reload # 重新加载配置
sudo systemctl start docker # 启动Docker
sudo systemctl restart docker # 重启Docker(如需)
(7)设置 Docker 开机启动
sudo systemctl enable docker
(8)验证 Docker 安装
systemctl status docker

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



