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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于JS阶乘,首字母大写,最长单词计算,
- 下一篇: Mac003--Maven安装与环境变量