容器镜像构建-Hadoop任意版本容器镜像构建

资源打包:

链接: https://pan.baidu.com/s/1R2I8eRGYTU7t00QT7ygsxQ?pwd=wtvm 提取码: wtvm 

说明

使用docker基于Hadoop基础镜像构建Hadoop标准容器镜像。
可对任意版本Hadoop进行镜像构建。Hadoop版本查询
可在中国网络环境操作,容器镜像网络加速可参考1ms.run

思路

Hadoop官方指导的镜像构建流程是打包代码,构建基础镜像,构建Hadoop容器镜像。

资源说明

.
├── base # 用于构建基础镜像。默认python2,JDK8(可替换为JDK11)
│   ├── Dockerfile.centos7 # 基于centos7
│   ├── Dockerfile.ubuntu20 # 基于ubuntu20
│   ├── Dockerfile.ubuntu22 # 基于Ubuntu22
│   ├── README.md # 构建基础镜像的说明。
│   └── scripts # 需内置到基础镜像的脚本,来自Hadoop官方代码仓库,仅适配python2环境。
│       ├── envtoconf.py
│       ├── krb5.conf
│       ├── starter.sh
│       └── transformation.py
├── base.new # 用于构建基础镜像。默认python3,JDK11(可替换为JDK8)
│   ├── Dockerfile.ubuntu25 # 基于Ubuntu25
│   ├── README.md # 构建基础镜像的说明。
│   └── scripts # 需内置到基础镜像的脚本,基于Hadoop原版改造适配python3。
│       ├── envtoconf.py
│       ├── krb5.conf
│       ├── starter.sh
│       └── transformation.py
├── compose.yaml # 用于对Hadoop容器镜像快速测试。  
├── config # Hadoop快速测试使用的默认配置文件。
├── Dockerfile # 构建Hadoop容器镜像
├── hadoop-3.1.1.tar.gz # 需打包到容器镜像使用的Hadoop软件包。
├── log4j.properties # 可使`kubectl logs`可以直接查看到组件日志。可选。推荐。
└── README.md

二次开发

对Hadoop定制开发结束后,请打包项目为名称格式hadoop-版本号.tar.gz的文件存放在当前目录。

构建基础镜像

可选。有安全加固或定制需求,详见目录basebase.new
若不构建基础镜像,在构建Hadoop容器镜像时,默认使用Hadoop官方的apache/hadoop-runner:latest,基于centos7,内置JDK8,python2。

JDK版本选择-重要

请谨慎选择。将影响Hadoop的镜像构建。
参考Hadoop官方说明,JDK8支持编译和运行Hadoop当前所有版本,Hadoop v3.3及更高版本可使用JDK11运行。

构建Hadoop容器镜像

下载Hadoop软件

将需使用的hadoop.tar.gz文件存放到此目录。例如下载hadoop-3.1.1.tar.gz

构建镜像

修改Dockerfile中的FROM为期望使用的基础镜像。
构建Hadoop镜像。

docker build -t hadoop:dev1 .

快速测试镜像

可快速测试镜像可用性。确认容器均UP即测试成功。
修改配置文件,image:改为构建的镜像名字。

vim compose.yaml

启动Hadoop组件

docker compose up -d
docker compose ps -a
posted @ 2026-01-20 16:50  云上小朱  阅读(0)  评论(0)    收藏  举报