Ubuntu 18.04里面安装docker和部署单机版的hadoop
2条回答 默认 最新
檀越@新空间 2026-02-26 21:41关注晚上好🌙🌙🌙
本答案参考通义千问在 Ubuntu 18.04 系统中使用 Docker 部署单机版 Hadoop 是一种快速测试和学习 Hadoop 的方式。以下是详细的步骤,包括 安装 Docker 和 部署单机版 Hadoop 的完整流程。
一、安装 Docker
1. 更新系统包
sudo apt update && sudo apt upgrade -y2. 安装 Docker 及其依赖
sudo apt install docker.io -y3. 启动并启用 Docker 服务
sudo systemctl start docker sudo systemctl enable docker4. 验证 Docker 是否安装成功
docker --version docker info
二、使用 Docker 部署单机版 Hadoop
这里我们使用一个常用的 Hadoop 单机镜像:
bde2020/hadoop,它已经预配置好了 Hadoop 的基本环境。1. 拉取 Hadoop 镜像
docker pull bde2020/hadoop:latest2. 运行 Hadoop 容器(单机模式)
docker run -itd \ --name hadoop-single-node \ -p 50070:50070 \ -p 8088:8088 \ -p 9000:9000 \ bde2020/hadoop:latest说明:
-itd:以交互式、后台运行方式启动容器。-p:映射容器端口到宿主机。50070:HDFS Web UI 端口。8088:YARN Web UI 端口。9000:HDFS NameNode 端口。
3. 查看容器状态
docker ps
三、验证 Hadoop 是否正常运行
1. 进入容器
docker exec -it hadoop-single-node bash2. 启动 Hadoop 服务
start-dfs.sh start-yarn.sh3. 检查 Hadoop 进程
jps你应该看到如下进程:
- NameNode
- DataNode
- ResourceManager
- NodeManager
4. 访问 Web UI
打开浏览器,访问以下地址:
- HDFS Web UI: http://localhost:50070
- YARN Web UI: http://localhost:8088
四、运行示例 MapReduce 任务(可选)
1. 在容器内创建测试文件
echo "Hello World" > input.txt hdfs dfs -put input.txt /input2. 运行 MapReduce 示例
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /input /output3. 查看输出结果
hdfs dfs -cat /output/*
五、常见问题与解决方案
1. 无法访问 Web UI
- 原因:防火墙或网络配置问题。
- 解决:
sudo ufw allow 50070 sudo ufw allow 8088 sudo ufw allow 9000
2. Hadoop 命令未找到
- 原因:路径未正确设置。
- 解决:
export PATH=$PATH:/usr/local/hadoop/bin
3. 容器启动失败
- 原因:Docker 端口冲突或资源不足。
- 解决:
- 更改映射端口。
- 增加内存限制(通过 Docker Desktop 或命令行参数)。
六、总结
✅ 重点步骤总结:
-
安装 Docker
- 更新系统包
- 安装 Docker 并启动服务
-
部署 Hadoop 单机版
- 使用
bde2020/hadoop镜像 - 映射必要端口
- 启动 Hadoop 服务
- 使用
-
验证与测试
- 进入容器执行命令
- 访问 Web UI
- 运行 MapReduce 示例
七、参考代码(可选)
如果你需要自定义构建 Hadoop 镜像,可以使用以下
Dockerfile示例:FROM openjdk:8-jdk-alpine RUN apk update && apk add --no-cache curl wget tar ENV HADOOP_VERSION=3.3.6 RUN wget https://archive.apache.org/dist/hadoop/common/hadoop-${HADOOP_VERSION}/hadoop-${HADOOP_VERSION}.tar.gz RUN tar -xzf hadoop-${HADOOP_VERSION}.tar.gz -C /usr/local && \ mv /usr/local/hadoop-${HADOOP_VERSION} /usr/local/hadoop && \ rm hadoop-${HADOOP_VERSION}.tar.gz ENV HADOOP_HOME=/usr/local/hadoop ENV PATH=$PATH:$HADOOP_HOME/bin CMD ["hadoop", "version"]你可以使用这个 Dockerfile 构建自己的 Hadoop 镜像:
docker build -t my-hadoop .
如需进一步配置高可用性或集群模式,请告知我,我可以提供更详细的方案。
解决 无用评论 打赏 举报