Docker安装Hadoop
讨论QQ:1586558083
正文
一、概述
形成了安装有vim、jdk、ssh的centos镜像,现在我们在这个的基础上继续搭建haoop。
在正式开始前,了解一些docker容器的操作命令
docker ps:查看活动的容器
docker ps -a:查看所有的容器(包括终止状态的)
docker images:查看镜像
docker run:基于镜像新建一个容器
docker container start 容器id:启动已经终止的容器,但不会进入容器,容器在后台执行
docker container stop 容器id:终止容器
docker container rm 容器id:删除终止状态的容器
docker image rm 镜像id:删除镜像
进入容器有两个命令:attach和exec
docker attach 容器id:进入容器,使用exit退出时,容器会终止
docker exec -it 容器id bash:进入容器,使用exit退出时,容器不会终止(推荐)
二、安装Hadoop
以之前保存的centos_basic 镜像新建一个名为hadoop1的容器,容器中是centos系统,主机名为 hadoop1。
[docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h hadoop1 --name hadoop1 centos_basic /bin/bash
打开一个新的终端输入命令docker ps查看开启的名为hadoop1的容器
开启系统之后,我们把下载下来的Hadoop安装文件放到共享目录/home/hadoop/build下面,然后在Docker内部centos系统的/root/build目录即可获取到Hadoop安装文件;在Docker内部的CentOS系统安装Hadoop和本地安装一样
放好Hadoop的安装文件后,进入Docker内部centos系统的/root/build目录,解压压缩包
[root@hadoop1 build]# tar -zxvf hadoop-2.7.5.tar.gz -C /root/apps/
具体的安装可以参考http://www.cnblogs.com/qingyunzong/p/8634335.html
三、保存镜像
基于已有的docker容器,做一新的dokcer image.
$ docker commit <container_id> <image_name>
另开一个窗口
举例:
四、搭建基于docker的hadoop集群
开启三个新的终端。然后基于centos/zk_hadoop镜像,创建三个容器,容器名分别为spark1、spark2和spark3
[docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h spark1 --name spark1 centos/zk_hadoop /bin/bash
[docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h spark1 --name spark1 centos/zk_hadoop /bin/bash
[docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h spark3 --name spark3 centos/zk_hadoop /bin/bash
在每个容器主机中开启ssh服务
用ssh localhost 查看ssh服务是否开启成功
/etc/hosts修改本机的ip和主机名信息
[root@spark3 ~]# vi /etc/hosts
可以用如下命令来检测下是否spark1是否可以连上spark2和spark3
修改zookeeper的变化spark2和spark3修改为2和3
[root@spark1 ~]# vi data/zkdata/myid
创建hadoop的数据目录
[root@spark3 ~]# mkdir -p /root/data/hadoopdata/dfs/name [root@spark3 ~]# mkdir -p /root/data/hadoopdata/dfs/data
启动zookeeper
在你配置的各个journalnode节点启动该进程
格式化namenode
[root@spark1 ~]# hadoop namenode -format
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具