基于传统的hadoop搭建方式,将hadoop搭建前的虚拟物理机准备部分使用docker容器替代,后续 配置文件操作依然为传统方式。
规划为一主机二从机:
masterslave1slave2namenodedatanodedatanode
纯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/
......
环境搭建篇
文章链接
Hadoop伪分布式的搭建详情
https://tuomasi.blog.csdn.net/article/details/118650350?spm=1001.2014.3001.5502
Hadoop完全分布式的搭建详情
https://tuomasi.blog.csdn.net/article/details/118851554?spm=1001.2014.3001.5502
Zookeeper集群的搭建(单机、伪分布式、集群)
https://tuomasi.blog.csdn.net/article/details/119059186?spm=1001.2014.3001.5502
Spark的安装与部署详情(Local模式,Standalone模式,Spank on YARN模式)
https://tuomasi.blog.csdn.net/article/details/119005751?spm=1001.2014.3001.5502
HadoopHA环境搭建(保姆篇,手把手搭建)
https://tuomasi.blog.csdn.net/article/details/119838463?spm=1001.2014.3001.5502
Centos安装yum,wegt(完全配置篇)
https://tuomasi.blog.csdn.net/article/details/120467143?spm=1001.2014.3001.5502
Centos安装mysql(rpm终结版)
https://tuomasi.blog.csdn.net/article/details/120476116?spm=1001.2014.3001.5502
centos安装hive3.1.2(精讲篇)
https://tuomasi.blog.csdn.net/article/details/120554242?spm=1001.2014.3001.5502
hbase集群的搭建(HBase Shell)
https://tuomasi.blog.csdn.net/article/details/120787788?spm=1001.2014.3001.5502
centos安装sqoop(使用Sqoop完成MySQL和HDFS之间的数据互导)
https://tuomasi.blog.csdn.net/article/details/121039263?spm=1001.2014.3001.5502
centos安装pig(Pig的应用)
https://tuomasi.blog.csdn.net/article/details/121156854?spm=1001.2014.3001.5502
centos安装kafka,集群模式(生产者消费者部署测试)
https://tuomasi.blog.csdn.net/article/details/121181238?spm=1001.2014.3001.5502
centos安装storm(集群模式)
https://tuomasi.blog.csdn.net/article/details/121187833?spm=1001.2014.3001.5502
centos安装flume(集群模式)
https://tuomasi.blog.csdn.net/article/details/121227635?spm=1001.2014.3001.5502
Ubuntu搭建hadoopHA高可用(从零开始)
https://tuomasi.blog.csdn.net/article/details/122267734?spm=1001.2014.3001.5502
Hadoop HA部署(MINI版)
https://tuomasi.blog.csdn.net/article/details/121566611?spm=1001.2014.3001.5502
Spark组件部署(MINI版)
https://tuomasi.blog.csdn.net/article/details/121615781?spm=1001.2014.3001.5502
Kafka组件部署(MINI版)
https://tuomasi.blog.csdn.net/article/details/121647743?spm=1001.2014.3001.5502
Storm 组件安装部署(MINI版)
https://tuomasi.blog.csdn.net/article/details/121659323?spm=1001.2014.3001.5502
Docker入门参考:
一零零七、Docker快速入门_托马斯-酷涛的博客-CSDN博客Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及 其运行环境能够做到“一次镜像,处处运行”。将应用打包成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统 上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。...https://tuomasi.blog.csdn.net/article/details/125121724?spm=1001.2014.3001.5502
每日箴言
你的生活没有那么多观众
你有多努力,这个世界就有多特殊
版权归原作者 托马斯-酷涛 所有, 如有侵权,请联系我们删除。