0%

使用Docker搭建Hadoop+Hive集群环境(详细步骤)

准备工作

在正式开始安装步骤前,请做好以下准备工作:

  1. 正确安装VMware Workstation软件,并且可以正常创建虚拟机。
  2. 准备好Centos7镜像
  3. 准备好用于安装HadoopDocker文件(共4个),点击此处下载

image-20231107140636413

安装Centos7虚拟机

创建虚拟机

点击VMware Workstation文件 --> 新建虚拟机

image-20231107141029733

点击下一步

image-20231107141054384

继续下一步

image-20231107141116172

选择稍后安装操作系统,点击下一步

image-20231107141143302

选择Linux操作系统,版本选择Centos 7 64位,继续点击下一步。

image-20231107141236168

修改虚拟机名称为dockerHadoop,位置修改为自己要存储的位置,建议选择盘符较大的硬盘存储,继续下一步。

image-20231107141427003

根据自己电脑性能选择处理器数量,继续点击下一步。

image-20231107141511435

打开任务管理器可以看到,我这里是4核8线程,所以我选择处理器数量为4,每个处理器的内核数量为2

image-20231107141611340

内存大小选择和物理机大小一致,我这里是16GB,从上面的图片中可以看到内存是16GB

image-20231107141826424

网络类型选择NAT网络地址转换,继续点击下一步。

image-20231107141909159

I/O控制器类型选择LSI Logic,继续下一步

image-20231107141931628

磁盘类型选择SCSI,继续下一步。

image-20231107142033953

磁盘选择创建新虚拟磁盘。

image-20231107142057987

磁盘大小选择50GB,继续下一步

image-20231107142128586

继续选则下一步

image-20231107142147488

点击此定义硬件,将声卡和打印机删除,完成虚拟机创建。

image-20231107142257059

至此,虚拟机创建完成。

安装Centos7操作系统

点击编辑虚拟机设置

image-20231107142348454

点击CD/DVD,然后选择设备状态为启动时连接,连接方式为使用ISO映像文件,点击浏览关联自己下载的Centos7镜像,然后点击确定。

image-20231107142521930

接下来,开启此虚拟机。

image-20231107142602483

使用键盘方向键选择Install CentOS7

image-20230704140747736

稍等片刻后,会出现操作系统安装引导界面。

语言选择中文,简体中文(中国),然后点击继续。

image-20231107142818904

接下来点击安装位置

image-20231107142900115

选择,我要配置分区,然后点击完成。

image-20231107142926729

接下来就需要自己手动配置分区,我们主要需要配置三个分区。

  1. /boot:1GB,文件系统为ext4
  2. swap:16GB【和内存大小一致】,文件系统为swap
  3. /:33GB,文件系统为ext4

配置完成后,点击左上角的完成。

image-20231107143129548

然后点击接受更改。

image-20231107143223098

继续点击KDUMP

image-20231107143315092

取消勾选KDUMP,然后点击完成。

image-20231107143352324

最后点击网络和主机名。

image-20231107143412228

点击开启网络,并修改主机名为dockerHadoop,修改完后点击完成。

image-20231107143526263

点击开始安装。

image-20231107143557493

设置root密码为123456(不要更改这个,就使用123456),不要创建用户。

image-20231107143639886

密码设置为123456后会提示你密码太弱,这个不用管,点击两次完成即可生效。

image-20231107143734360

到这一步后,虚拟机操作系统就已经安装好了,点击重启即可正常进入Centos7操作系统。

image-20231107143910248

安装Docker Hadoop

修改宿主机IP地址为静态IP

经过前面的步骤后,重启虚拟机应该可以看到以下界面。

image-20231107144046029

接下来输入root用户的用户名和密码进入操作系统。

image-20231107144124028

然后输入以下命令,查看此时自动分配的IP地址。

1
ip a

image-20231107144218135

可以看到此时自动分配给虚拟机的IP地址为192.168.128.139,这个IP地址可能每个人都不一样。

知道IP地址后,打开MobaXterm连接到虚拟机。

image-20231107144402938

然后根据提示输入密码,连接成功。

image-20231107144459940

接下来将虚拟机的IP地址修改为静态IP192.168.128.66

输入以下代码。

1
vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改为以下内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="602b91cd-0991-4dd3-9b63-e43b251bc1e8"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.128.66
GATEWAY=192.168.128.2
DNS1=192.168.128.2

image-20231107144747323

然后重启网络

1
systemctl restart network

注意:重启网络后由于IP地址发生了变化,这里会导致此时的MobaXterm卡住,直接关闭即可。

上传Docker Hadoop文件

首先,由于前面我们将虚拟机IP地址修改了,所以需要创建新对话重新连接宿主机。

此时IP地址为192.168.128.66

image-20231107145035805

连接完成后,将所有的Docker Hadoop相关文件(共4个)上传到宿主机。

image-20231107145241078

上传完成。

运行root_run.sh文件

输入以下代码执行root_run.sh脚本

1
sh root_run.sh

image-20231107151321805

image-20231107151653608

docker安装完成。

这一步可能由于网络的原因导致安装docker失败,如果安装失败重新运行脚本即可。

运行create_hadoop_cluster.sh文件

输入以下代码执行create_hadoop_cluster.sh脚本

image-20231107152404298

image-20231107152444718

开始构建镜像,从这一步开始就会自动去安装所有的镜像,只需耐心等待即可。

image-20231107152455645

到这一步就说明所有容器安装成功,输入y清空历史文件即可。

image-20231107153008081

环境安装成功。

image-20231107153020475

初始化集群

初始化mysql

到这一步后,集群中3个容器已经启动,并且可以正常使用。可以直接在宿主机输入以下代码进入hadoop102容器。

1
ssh hadoop102

image-20231107153340762

也可以直接使用MobaXterm通过ssh去连接。

image-20231107154101787

image-20231107154042954

然后在hadoop102中输入以下命令初始化mysql

1
mysqlInit

image-20231107154706084

默认会将mysql密码修改为123456,这个最好也不要改动。

测试是否初始化成功,输入以下命令,看是否可以进入mysql

1
mysql -uroot -p123456

image-20231107154840550

成功进入!输入quit退出。

开启hadoop

首先进入到宿主机执行以下命令

1
dockerHadoop start

image-20231107155301433

接下来进入到hadoop102容器,执行以下命令开启hadoop

1
myhadoop start

image-20231107155404558

开启成功,输入以下命令查看应用是否正常。

1
jpsall

image-20231107155434170

Hadoop各组件正常,启动完成。

在本机浏览器中打开此地址,看是否可以正常进入HDFS Web界面。

image-20231107155659463

界面正常进入。

开启Zookeeper

Hadoop102中输入以下命令开启Zookeeper

1
ZKCluter start

image-20231107155803318

然后,输入以下命令查看Zookeeper是否正常。

1
ZKCluter status

image-20231107155840122

可以看到Zookeeper各节点正常,Hadoop103节点当选leader

开启Hive

Hadoop102节点下输入以下代码开启Hive

1
hive2 start

image-20231107160003271

此时会自动开启hive初始化,并开启MetastoreHiveServer2服务。

image-20231107160113055

输入以下代码查看Hive服务是否正常。

1
hive2 status

image-20231107160138024

这里可以看到Metastore服务正常,但是HiveServer2服务异常,这个问题是正常的,只需等待几分钟后,再次执行

1
hive2 status

即可看到HiveServer2恢复正常。

image-20231107160245593

至此,Hadoop+Hive组件安装完成。

-------------本文结束感谢您的阅读-------------