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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM