分享

利用Docker快速搭建Hadoop集群

本帖最后由 levycui 于 2020-9-15 19:14 编辑
问题导读:
1、docker容器的常用操作命令有哪些?
2、如何基于已有的docker容器,做一新的dokcer image?
3、如何搭建基于docker的hadoop集群?
4、如何使用ssh localhost 查看ssh服务是否开启成功?



目录
    一、概述
    二、安装Hadoop
    三、保存镜像
    四、搭建基于docker的hadoop集群


正文

一、概述

形成了安装有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。
  1. [docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h hadoop1 --name hadoop1 centos_basic /bin/bash
复制代码
打开一个新的终端输入命令docker ps查看开启的名为hadoop1的容器
2020-09-15_190025.jpg
开启系统之后,我们把下载下来的Hadoop安装文件放到共享目录/home/hadoop/build下面,然后在Docker内部centos系统的/root/build目录即可获取到Hadoop安装文件;在Docker内部的CentOS系统安装Hadoop和本地安装一样

放好Hadoop的安装文件后,进入Docker内部centos系统的/root/build目录,解压压缩包
  1. [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.
  1. $ docker commit <container_id> <image_name>
复制代码
另开一个窗口
举例:

四、搭建基于docker的hadoop集群

开启三个新的终端。然后基于centos/zk_hadoop镜像,创建三个容器,容器名分别为spark1、spark2和spark3
  1. [docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h spark1 --name spark1 centos/zk_hadoop /bin/bash
复制代码
2020-09-15_190112.jpg
  1. <div>[docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h spark1 --name spark1 centos/zk_hadoop /bin/bash</div>
复制代码
2020-09-15_190150.jpg
  1. <div>[docker@bigdata ~]$ docker run -it -v /home/docker/build:/root/build --privileged -h spark3 --name spark3 centos/zk_hadoop /bin/bash</div>
复制代码
2020-09-15_190227.jpg
2020-09-15_190322.jpg
在每个容器主机中开启ssh服务

用ssh localhost 查看ssh服务是否开启成功
2020-09-15_190353.jpg
/etc/hosts修改本机的ip和主机名信息
  1. [root@spark3 ~]# vi /etc/hosts
复制代码
2020-09-15_190422.jpg
可以用如下命令来检测下是否spark1是否可以连上spark2和spark3

2020-09-15_190450.jpg

修改zookeeper的变化spark2和spark3修改为2和3
  1. [root@spark1 ~]# vi data/zkdata/myid
复制代码

创建hadoop的数据目录
  1. [root@spark3 ~]# mkdir -p /root/data/hadoopdata/dfs/name
  2. [root@spark3 ~]# mkdir -p /root/data/hadoopdata/dfs/data
复制代码

启动zookeeper
2020-09-15_190517.jpg

在你配置的各个journalnode节点启动该进程
2020-09-15_190616.jpg

格式化namenode
  1. [root@spark1 ~]# hadoop namenode -format
复制代码

2020-09-15_190644.jpg

作者:qingyunzong
来源:https://www.cnblogs.com/qingyunzong/p/9015603.html

最新经典文章,欢迎关注公众号

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条