docker裏安裝hadoop並把容器打包爲鏡像

環境準備

centos7.x機器爲例

系統:Centos 7,內核版本3.10

宿主機準備工作

  • 安裝docker

      安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的

      yum install -y yum-utils device-mapper-persistent-data lvm2

  • 配置yum源

      yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

      可以查看所有倉庫中所有docker版本,並選擇特定版本安裝

      yum list docker-ce --showduplicates | sort -r

      yum install docker-ce-cli docker-ce containerd.io

  • 服務啓停和確認

啓動docker,命令:systemctl start docker,然後加入開機啓動,如下

systemctl start docker

systemctl enable docker

  • 檢查安裝是否成功

docker version

 

拉取鏡像並初始化鏡像

  • 拉取鏡像 docker pull centos

默認是拉取centos: latest

如果需要拉取其他版本的鏡像,可以通過https://hub.docker.com/_/centos?tab=tags

 

 

如果你想獲取7.4的鏡像,則docker pull centos:centos7.4.1708

  • 查看鏡像並啓動鏡像

 

docker images 可以查看到你的鏡像

使用 啓動容器進行初始化修改. -v進行目錄映射,後續傳輸文件會比較方便~

docker run -it -v /data:/data centos

 

  • 進入容器後安裝必要的軟件

yum install openssh-clients openssh-server dbus rsync ntpdate which

其他工具

yum install iproute net-tools

 

初始化jdk, hadoop安裝包

從新的終端把jdk 和hadoop tgz包放到/data

再進入容器裏面,執行

tar -zxvf /data/jdkxxxx.tgz -C /opt/

tar -zxvf /datapool/hadoopxxxx.tgz -C /opt/

 

配置環境變量

vi /etc/profile

export JAVA_HOME="/opt/jdk1.7.0_80/"

export PATH=$PATH:$JAVA_HOME/bin

保存退出後,source /etc/profile

 

修改機器密碼

echo “root:111111”|chpasswd

 

配置hadoop配置文件後,參考正常hadoop配置即可。然後正常啓動HDFS服務

執行./bin/hadoop fs -ls / 保證可以正確執行

 

嘗試啓動或者停止yarn

問題:

[root@5a2d7be85df8 loongoop-1.0.5-v2.7.2]# ./sbin/start-yarn.sh

starting yarn daemons

localhost: ssh: connect to host localhost port 22: Network is unreachable

systemctl start sshd 無法啓動

(privileged=true 沒設置?)

---如果有其他缺少命令工具的,則yum安裝一下即可

 

 

  • 保存容器修改並commit保存爲鏡像

docker commit -m "centos8 with hadoopx.x.x" 6e407cd676d3 centos8/hdp

 

查看打包結果 docker images

 

使用新鏡像創建容器並調整內容

  • 啓動鏡像

docker run -d --name ct1 -h ct1 --privileged=true -v /data:/data centos8/lgp /usr/sbin/init

  • 進入

docker exec -it ct1 /bin/bash

  •  參數修改

重新修改/etc/hosts, hadoop 的slaves文件。爲當前節點的信息

執行啓動yarn,並查看進程服務即可

此時如果沒有問題,則表示 鏡像 centos8/hdp 可以直接使用了

 

後續可以在通過修改鏡像容器commit方式進行打包

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章