1. 程式人生 > >Docker安裝Hadoop

Docker安裝Hadoop

info commit html 後臺 活動 exe 兩個 包括 root

一、概述

形成了安裝有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