+Docker从头完全部署

1.环境及软件准备

Virtual Machine Software

Docker

OS

Ubuntu 20.04LTS

VM OS

CentOS 7.9

Ambari

2.7.4.0

HDP

3.1.4.0

HDP-UTILS

1.1.0.22

Java

JDK8

SQL

Mysql 5.7

你可以在这里查询软件之间的版本支持度

Ambari、HDP、HDP-UTILS安装包下载链接如下

提取码:3rwq

1.1 创建并初配置一台原型机

后续主节点或从节点还需从这个容器打包后的镜像再延展。

因为docker的OS镜像都非常精简,所以我们必需提前安装好一些软件包

不用在这一步安装所有后面主从节点共同需要包,因为在配置好免密那一步之后,可以使用pssh来同时让所有节点执行相同的命令。

2.准备工作

2.1关闭防火墙

默认没有,那就不用管。

2.2安装JDK

2.3关闭SELinux

默认没有,那就不用管。

2.4安装额外软件包

  • sshpass:用明文方式自动输入ssh密码,快速免密脚本需要。

  • pssh:同时对多个机器使用shh执行命令,方便管理后续集群。

2.5配置集群内网并创建集群服务器

将原型机打包

创建docker网络

这个命令的作用是在Docker中创建一个名为"bigdata"的网络,该网络的子网为172.19.0.0/16,网关为172.19.0.1。

具体解释如下:

  • docker network create:创建Docker网络。

  • bigdata:指定网络的名称为"bigdata"。

  • --subnet=172.19.0.0/16:设置网络的子网为172.19.0.0/16。这意味着该网络可以分配65534个IP地址(172.19.0.0到172.19.255.255),其中172.19.0.1被指定为网关地址,不能使用作为容器IP地址。

  • --gateway=172.19.0.1:设置网络的网关地址为172.19.0.1。所有连接到该网络的容器都将使用该地址作为默认网关。

开启内核swap资源限制支持

创建主节点,拥有以下属性

  • 属于bigdata局域网,ip为172.19.0.2

  • 对host主机开放8080端口

  • 分配shell命令行

  • 分配6cpu核

  • 分配16G内存

  • 配置了systemd服务

等容器显示的一系列操作不再继续时,关闭此终端。容器仍会以启动的状态在后台

创建从节点,,拥有以下属性

  • 属于bigdata局域网

  • 分配shell命令行

  • 分配4cpu核

  • 分配12G内存

docker stats containerID监视容器资源使用

docker exec -it containerID /bin/bash 开启容器命令行

2.6安装MySQL(主节点)

重置初始密码和免输密码登录

MySQL

修改/etc/my.cnf添加以下配置

2.7配置域名映射(主节点)

同时开启三台虚拟机,输入ifconfig查看各个的ip地址

vim /etc/hosts写入映射规则,根据ip追加以下内容

使用脚本[0]将hosts文件传到所有其它主机

脚本

2.8配置免密

用脚本[1]快速配置所有主机互相免密

脚本

2.9时间同步

2.9.1主服务器时间配置(主节点)

选一台服务器作时间服务器,这里以hdp1作为时间服务器,其他服务器以时间服务器时间为准

授权192.168.137.0-192.168.137.255网段上的所有机器可以从这台机器上查询和同步时间

2.9.2其它服务器时间配置(主节点)

创建一个host.txt文件,写入所有从节点

创建tmp.txt文件,写入以下内容,表示每小时的第29分和59分同步一次时间

然后使用pssh将这个内容写入所有从节点的crontab

3.安装Ambari

3.1配置ambari和hdp的yum源(主节点)

使用docker cp将压缩包放入主节点容器内

配置yum源,ip记得改

配置好yum源后使用scp命令将ambari.repo和hdp.repo文件发送到其他节点的/etc/yum.repos.d/目录下

3.2配置和安装ambari-server(主节点)

配置数据库

下载jdbc驱动

下载驱动

这里我使用最新版jdbc8.0.33之后可以运行ambari-server,但是和mysql5.7适配的jdbc5.1.44会一直遇到已耗尽最大连接次数和flush的问题,看了很多解决办法没解决掉。不过用8.0.33也没什么不好的。

将jdbc驱动包放到指定目录

配置ambari-server

启动ambari

3.3 安装、配置ambari-agent节点(所有节点Optional)

你也可以在下一步的2-Install Options中选择Provide your SSH and autoconf就可以跳过这一步

4. 部署HDP

通过ip:8080就可以访问Web UI了,登录ambari,默认用户名和密码都是admin。

点击ClusterInformation --> LAUNCH INSTALL WIZARD开始安装向导

填集群名字

5. Enjoy

:-)

Last updated