千家信息网

在Docker中跑Hadoop与镜像制作方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像;  Hadoop集群依赖的软件分别为:jdk、ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可;配置文件准备1、H
千家信息网最后更新 2026年11月02日在Docker中跑Hadoop与镜像制作方法

重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像;

  Hadoop集群依赖的软件分别为:jdk、ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可;

配置文件准备

1、Hadoop相关配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves、hadoop-env.sh
2、ssh配置文件:ssh_config
3、Hadoop集群启动文件:start-hadoop.sh

制作镜像

1、安装依赖

RUN apt-get update && \ apt-get install -y openssh-server openjdk-8-jdk wget

2、下载Hadoop包

RUN wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz && \tar -xzvf hadoop-2.10.0.tar.gz && \mv hadoop-2.10.0 /usr/local/hadoop && \rm hadoop-2.10.0.tar.gz && \rm /usr/local/hadoop/share/doc -rf

3、配置环境变量

ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ENV HADOOP_HOME=/usr/local/hadoop ENV PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

4、生成SSH key,用于节点免密登录

RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && \cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

5、创建Hadoop相关目录、复制相关配置文件、相关文件添加执行权限,最后格式化namenode节点,各个节点启动时,启动ssh服务;

RUN mkdir -p ~/hdfs/namenode && \ mkdir -p ~/hdfs/datanode && \mkdir $HADOOP_HOME/logsCOPY config/* /tmp/#复制ssh、hadoop配置相关RUN mv /tmp/ssh_config ~/.ssh/config && \mv /tmp/hadoop-env.sh /usr/local/hadoop/etc/hadoop/hadoop-env.sh && \mv /tmp/hdfs-site.xml $HADOOP_HOME/etc/hadoop/hdfs-site.xml && \ mv /tmp/core-site.xml $HADOOP_HOME/etc/hadoop/core-site.xml && \mv /tmp/mapred-site.xml $HADOOP_HOME/etc/hadoop/mapred-site.xml && \mv /tmp/yarn-site.xml $HADOOP_HOME/etc/hadoop/yarn-site.xml && \mv /tmp/slaves $HADOOP_HOME/etc/hadoop/slaves && \mv /tmp/start-hadoop.sh ~/start-hadoop.sh && \mv /tmp/run-wordcount.sh ~/run-wordcount.sh#添加执行权限RUN chmod +x ~/start-hadoop.sh && \chmod +x ~/run-wordcount.sh && \chmod +x $HADOOP_HOME/sbin/start-dfs.sh && \chmod +x $HADOOP_HOME/sbin/start-yarn.sh # format namenodeRUN /usr/local/hadoop/bin/hdfs namenode -format


在Docker中跑Hadoop集群

  通过上面的Dockerfile生成了镜像后,这里即可使用上面所生成的镜像搭建Hadoop集群;这里启动一个master、两个slave节点;

添加桥接网络:

docker network create --driver=bridge solinx-hadoop

启动Master节点:

docker run -itd --net=solinx-hadoop -p 10070:50070 -p 8088:8088 --name solinx-hadoop-master --hostname solinx-hadoop-master solinx/hadoop:0.1

启动Slave1节点:

docker run -itd --net=solinx-hadoop --name solinx-hadoop-slave1 --hostname solinx-hadoop-slave1 solinx/hadoop:0.1

启动Slave2节点:

docker run -itd --net=solinx-hadoop --name solinx-hadoop-slave2 --hostname solinx-hadoop-slave1 solinx/hadoop:0.1

进入Master节点,执行启动Hadoop集群脚本即可:

总结

以上所述是小编给大家介绍的在Docker中跑Hadoop与镜像制作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

节点 镜像 文件 配置 集群 生成 制作 权限 帮助 两个 出处 变量 格式 环境 疑问 目录 网站 网络 脚本 轮子 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 深圳九邦互联网科技有限公司 厦门中拓互联网络科技有限公司 鸠鸠互联网科技 科技互联网公司装修 与互联网科技公司 互联网络科技有限公司 中国 科技 互联网 赫美联合互联网科技 四川狮子座互联网科技 海南购全球互联网科技 字节跳动和互联网科技 互联网金融中的现代科技 电子科技大学互联网创业大赛 广州新华互联网科技学校电竞方面 深圳互联网科技的发展 上海同邻互联网科技有限公司规模 玉溪新华互联网科技怎么选 陕西彩京云互联网科技有限公司 互联网 科技节活动 微视频大赛 科技互联网企业 互联网科技保险 互联网科技论文 海南科技产业互联网平台 蓝色互联网科技 深圳国际航运科技和互联网 阿里巴巴算科技企业还是互联网 互联网科技公司实习生 深圳育鹏互联网科技有限公司招聘 华夏恒生科技与互联网科技
0