目录
基于传统的hadoop搭建方式,将hadoop搭建前的虚拟物理机准备部分使用docker容器替代,后续 配置文件操作依然为传统方式。
规划为一主机二从机:
master | slave1 | slave2 |
namenode | datanode | datanode |
纯Docker部分
1、启动Docker
#启动
systemctl start docker
#检查是否活跃
systemctl status docker
2、搜索镜像
#以搜索centos为例,后标有official的为官方镜像
docker search centos
3、拉取镜像
#拉取centos7镜像,centos后接:7代表拉取的版本,未添加则默认最新版本:latest,为centos8镜像
docker pull centos:7
4、查看镜像
#查看拉取下来的镜像(本地)
#存在下图红框所示,即说明下载成功
docker images
5、自建立docker bridge(网桥)
#为了将后续hadoop集群规划在同一网段里
#可以将新的网桥命名为hadoop
docker network create hadoop
#查看是否创建成功
docker network ls
#查看具体信息
docker network inspect hadoop
Docker结合Hadoop部分
1、创建并运行容器
-dit | -h | --name | --network | --privileged=true |
后台且运行 | 容器内主机名 | 容器名 | 要加入的网桥 | root完整权限 |
#基于上述centos7镜像,新建master容器
docker run -dit -h="master" --name="master" --network=hadoop -p 50070:50070 --
privileged=true centos:7 init
#slave1容器
docker run -dit -h="slave1" --name="slave1" --network=hadoop --privileged=true
centos:7 init
#slave2容器
docker run -dit -h="slave2" --name="slave2" --network=hadoop --privileged=true
centos:7 init
#查看运行状况
docker ps
2、进入master容器
#在进入master容器之前,先查看一下三台容器是否都加入了自定义的网桥(hadoop)内
docker network inspect hadoop
#记住三台容器对应的IP,下图所示
#进入master容器
docker exec -it master /bin/bash
#设置root密码(下为命令,非密码)
passwd
3、安装需要的软件包
#安装net-tools,以便使用ifconfig命令(可选),
#注意:ip addr命令在docker内的centos里不可用
yum install -y net-tools
#安装vim,增强版vi(可选)
yum install -y vim
#安装which,否则hadoop运行时命令会报错(限docker环境,必装)
yum install -y which
#安装ssh,免密登录所需(必装)
yum install -y openssh openssh-server openssh-clients
#启动sshd服务
systemctl start sshd
#安装完毕,退出执行步骤2.4
exit
注:
#以上命令可简化为一行命令(^_^):
yum install -y net-tools vim which openssh openssh-server openssh-clients
4、进入从机,重复2.3步骤
#进入slave1
docker exec -it slave1 /bin/bash
#设置root密码
passwd
#执行2.3完毕退出
exit
#进入slave2
docker exec -it slave2 /bin/bash
#设置root密码
passwd
#执行2.3完毕退出
exit
5、配置hosts文件
(同一网桥下不用配置hosts,可直接通过主机名访问。)√
vi /etc/hosts
#如果有以下提示,回车后按e即可继续配置
E325: ATTENTION
Found a swap file by the name "/etc/.hosts.swp"
#将2.2记录下来的ip对应主机名添加至hosts文件内
#例如:在master主机下
172.18.0.2 master #已拥有
172.18.0.3 slave1 #需添加
172.18.0.4 slave2 #需添加
#将该hosts文件发送给slave1,slave2
6、传输搭建所需安装包
#将宿主机/opt下的安装包移动至3个容器节点中
#docker cp /opt/xxx.tar.gz master:/opt/
#例如:
docker cp /opt/jdk-8u121-linux-x64.tar.gz master:/opt/
docker cp /opt/hadoop-2.7.7.tar.gz master:/opt/
......
环境搭建篇
Docker入门参考:
每日箴言
你的生活没有那么多观众
你有多努力,这个世界就有多特殊