Docker安装Hadoop

Posted 扎心了,老铁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Docker安装Hadoop的主要内容,如果未能解决你的问题,请参考以下文章

Docker安装分布式Hadoop

docker安装hadoop

Docker安装Hadoop

Docker——Hadoop完全分布式安装

Docker搭建Hadoop环境

docker中安装hadoop过程及错误解决