参考大佬文章:
https://blog.csdn.net/qq_43034505/article/details/109975833
实验目的
(1)掌握在docker的安装方法;
(2)熟悉docker基本命令;
(3)基于Docker创建spark集群
实验平台
操作系统:Windows10专业版
spark版本:2.4.7
Hadoop版本:2.7.4
实验内容和要求
Docker环境的安装
由于我的是Windows10专业版,所以直接进行下载后安装。安装后注册自己的账号。
下载地址:
链接:https://pan.baidu.com/s/1egjdIH9q57VB7v4OCoi-3Q
提取码:9trw
为了不影响下载速度,替换docker中的镜像。
可供选择的镜像为:
Docker中国区官方镜像
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
ustc
https://docker.mirrors.ustc.edu.cn
中国科技大学
https://docker.mirrors.ustc.edu.cn
阿里云容器 服务
https://cr.console.aliyun.com/
完成后直接启动cmd即可
基于Docker创建Spark集群
hadoop集群搭建
拉却一个centos镜像,拉取最新版本
docker pull centos:latest
结束后,查看是否下载成功
docker images
创建容器
先执行下面的代码:
docker-machine ssh default
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
exit
创建master,slave1和slave2容器,按顺序执行代码
docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name master -h master -p 50070:50070 -p 8080:8080 -p 7077:7077 -p 18088:18088 centos /usr/sbin/init
docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name slave1 -h slave1 centos /usr/sbin/init
docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name slave2 -h slave2 centos /usr/sbin/init
启动之后输入
docker ps -a
查看容器创建情况
这里创建了slave3作为实例
输入下面指令进入容器
docker exec -it 容器id /bin/bash
但是这是在容器已经启动的情况下,如果容器没有启动则需要使用
docker start 容器id
如果要删除容器可以使用
docker rm 容器id
按Ctrl+P+Q可以退出这个容器,当在容器出现卡死情况时这个命令很好用。
配置SSH
先换yum源(三个节点都需要换)
分别在三个节点下依次执行下面的命令
yum -y install wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
yum makecache
这里注意自己下载下来的centos是什么版本,然后找到对应版本的yum源。
master安装openssh并修改配置文件
安装openssh
yum -y install openssh openssh-server openssh-clients
systemctl start sshd
修改配置文件,使得master设置ssh登录自动添加known_hosts,ssh自动接收新的秘钥
vi /etc/ssh/ssh_config
由于在首次连接服务器时,会弹出公钥确认的提示。这会导致某些自动化任务,由于初次连接服务器而导致自动化任务中断。或者由于 ~/.ssh/known_hosts 文件内容清空,导致自动化任务中断。 SSH 客户端的 StrictHostKeyChecking 配置指令,可以实现当第一次连接服务器时,自动接受新的公钥。这就需要将原来的StrictHostKeyChecking ask设置StrictHostKeyChecking为no。
,再执行
systemctl restart sshd
slave节点只安装,不修改配置文件
yum -y