在Docker中跑Hadoop与镜像制作方法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像; Hadoop集群依赖的软件分别为:jdk、ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可;配置文件准备1、H
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
魔兽世界正式服pvp服务器联盟
电力行业网络安全防护方案厂家
网络安全谁建设
手机软件开发青岗科技
平面设计用服务器cpu怎么样
网络安全初级测评师考试内容
王者荣耀转服务器大概要多久
陕西手机软件开发
软件开发环境与平台的区别
五亿数据库快速导入
税务局用什么数据库软件
软件开发技术职业规划
数据库连接程序
恒生互联网科技指数 雪球
网络安全竞赛乌市一中
网络技术大专实习工作是什么
8个软件开发小工具
软件开发专科学校公办
两组数据提取相同的数据库
安卓软件开发课程报告
软件开发的就业前景和行业背景
数据库中存储对象
mysql怎么备份数据库
用什么软件可以传游戏数据库
cyf网络安全大赛
h3c服务器技术支持电话
机构管理服务器
在vb中动态创建数据库
佛山聊天软件开发收费
数据库管理系统产生什么年代