准备工作
在正式开始安装步骤前,请做好以下准备工作:
- 正确安装
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,文件系统为ext4
swap
: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
组件安装完成。