• 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。

    [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

  • 相关阅读:
    Android基础知识
    使用Android Studio和Genymotion模拟器搭建Andriod开发环境
    【原】Java开发环境搭建
    【转】JavaScript顶级对象参考模型
    【转】在.Net中关于AOP的实现
    【转】各版本IIS下ASP.net请求处理过程区别
    【转】我们应该如何去了解JavaScript引擎的工作原理
    Linux系统编程(27)——线程控制
    Linux系统编程(26)——守护进程
    Linux系统编程(25)——终端
  • 原文地址:https://www.cnblogs.com/qingyunzong/p/9015603.html
Copyright © 2020-2023  润新知