准备工作
在正式开始安装步骤前,请做好以下准备工作:
- 正确安装
VMware Workstation软件,并且可以正常创建虚拟机。 - 准备好
Centos7镜像 - 准备好用于安装
Hadoop的Docker文件(共4个),点击此处下载。

安装Centos7虚拟机
创建虚拟机
点击VMware Workstation,文件 --> 新建虚拟机

点击下一步

继续下一步

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

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

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

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

打开任务管理器可以看到,我这里是4核8线程,所以我选择处理器数量为
4,每个处理器的内核数量为2。
内存大小选择和物理机大小一致,我这里是16GB,从上面的图片中可以看到内存是16GB。

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

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

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

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

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

继续选则下一步

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

至此,虚拟机创建完成。
安装Centos7操作系统
点击编辑虚拟机设置

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

接下来,开启此虚拟机。

使用键盘方向键选择Install CentOS7

稍等片刻后,会出现操作系统安装引导界面。
语言选择中文,简体中文(中国),然后点击继续。

接下来点击安装位置

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

接下来就需要自己手动配置分区,我们主要需要配置三个分区。
/boot:1GB,文件系统为ext4swap:16GB【和内存大小一致】,文件系统为swap/:33GB,文件系统为ext4
配置完成后,点击左上角的完成。

然后点击接受更改。

继续点击KDUMP

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

最后点击网络和主机名。

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

点击开始安装。

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

密码设置为123456后会提示你密码太弱,这个不用管,点击两次完成即可生效。
到这一步后,虚拟机操作系统就已经安装好了,点击重启即可正常进入Centos7操作系统。

安装Docker Hadoop
修改宿主机IP地址为静态IP
经过前面的步骤后,重启虚拟机应该可以看到以下界面。

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

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

可以看到此时自动分配给虚拟机的IP地址为192.168.128.139,这个IP地址可能每个人都不一样。
知道IP地址后,打开MobaXterm连接到虚拟机。

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

接下来将虚拟机的IP地址修改为静态IP192.168.128.66。
输入以下代码。
1 | vi /etc/sysconfig/network-scripts/ifcfg-ens33 |
修改为以下内容。
1 | TYPE="Ethernet" |

然后重启网络
1 | systemctl restart network |
注意:重启网络后由于IP地址发生了变化,这里会导致此时的
MobaXterm卡住,直接关闭即可。
上传Docker Hadoop文件
首先,由于前面我们将虚拟机IP地址修改了,所以需要创建新对话重新连接宿主机。
此时IP地址为192.168.128.66

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

上传完成。
运行root_run.sh文件
输入以下代码执行root_run.sh脚本
1 | sh root_run.sh |


docker安装完成。
这一步可能由于网络的原因导致安装
docker失败,如果安装失败重新运行脚本即可。
运行create_hadoop_cluster.sh文件
输入以下代码执行create_hadoop_cluster.sh脚本


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

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

环境安装成功。

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

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


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

默认会将mysql密码修改为123456,这个最好也不要改动。
测试是否初始化成功,输入以下命令,看是否可以进入mysql。
1 | mysql -uroot -p123456 |

成功进入!输入quit退出。
开启hadoop
首先进入到宿主机执行以下命令
1 | dockerHadoop start |

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

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

Hadoop各组件正常,启动完成。
在本机浏览器中打开此地址,看是否可以正常进入HDFS Web界面。

界面正常进入。
开启Zookeeper
在Hadoop102中输入以下命令开启Zookeeper
1 | ZKCluter start |

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

可以看到Zookeeper各节点正常,Hadoop103节点当选leader。
开启Hive
在Hadoop102节点下输入以下代码开启Hive
1 | hive2 start |

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

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

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

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

