365
此文章距发布之日起已过去 天,其中某些内容可能已经过时失效
Hadoop 作为一个强大且广泛使用的分布式计算框架,能够有效处理大规模数据集。为了更好地利用容器技术提升Hadoop的可移植性和部署效率,本指南详细介绍了如何在容器中安装和配置 Hadoop 3.4.0。我们将基于 Debian 12 容器镜像,并通过 podman 来管理容器化环境,旨在为用户提供便捷的容器化Hadoop部署流程。
Hadoop安装
给podman增加docker源
在/etc/containers/registries.conf
中增加如下内容
1 2
| [registries.search] registries = ['docker.io']
|
拉取debian12镜像
1
| podman pull debian:bookworm
|
下载相关软件
1 2 3 4 5 6 7 8 9 10
| mkdir hadoop cd hadoop
wget "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u422-b05/OpenJDK8U-jdk_x64_linux_hotspot_8u422b05.tar.gz" -O jdk.tar.gz tar -zxvf jdk.tar.gz
wget "https://archive.apache.org/dist/hadoop/core/hadoop-3.4.0/hadoop-3.4.0.tar.gz" -O hadoop.tar.gz tar -zxvf hadoop.tar.gz
|
构建镜像
创建一个名为 Dockerfile
的文件写入如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| FROM debian:bookworm
RUN apt update && apt install -y wget sudo ssh \ && ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "" -q \ && cat /root/.ssh/id_ed25519.pub >> /root/.ssh/authorized_keys
ADD jdk8u422-b05 /usr/local/java/jdk8u422-b05 ADD hadoop-3.4.0 /usr/local/hadoop
ENV JAVA_HOME=/usr/local/java/jdk8u422-b05 ENV JRE_HOME=${JAVA_HOME}/jre ENV CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib ENV PATH=${JAVA_HOME}/bin:$PATH
ENV HADOOP_HOME=/usr/local/hadoop ENV PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ENV HADOOP_COMMON_HOME=$HADOOP_HOME ENV HADOOP_HDFS_HOME=$HADOOP_HOME ENV HADOOP_MAPRED_HOME=$HADOOP_HOME ENV HADOOP_YARN_HOME=$HADOOP_HOME ENV HADOOP_INSTALL=$HADOOP_HOME ENV HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native ENV HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec ENV HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop ENV HDFS_DATANODE_USER=root ENV HDFS_SECONDARYNAMENODE_USER=root ENV HDFS_NAMENODE_USER=root ENV YARN_RESOURCEMANAGER_USER=root ENV YARN_NODEMANAGER_USER=root
|
执行构建镜像命令
1
| podman build -t hadoop:v1 .
|
启动容器
1
| podman run -it --name hadoop -it -d debian:bookworm
|
使用新创建的镜像创建容器
1 2
| podman run -it --name hadoop -it -d -p 8088:8088 -p 9870:9870 hadoop:v1 /bin/bash /root/start.sh podman start hadoop
|
通过上述步骤,我们成功地在容器环境中安装并配置了 Hadoop 3.4.0,确保了 Hadoop 在容器中的高效运行。容器化 Hadoop 不仅提升了其灵活性和可移植性,同时也简化了多节点集群的管理与维护。如果需要进一步扩展或定制 Hadoop 环境,可以基于此容器镜像进行后续的开发和优化,助力大数据处理项目顺利进行。
Author
lingxh
Published at
2024-09-10
License
CC BY-NC-SA 4.0