大数据之脚踏实地学07--搭建Hadoop集群【1】

前言

前几期基本上讲的都是Linux的命令,个人觉得掌握这么多的命令后,基本上就够用啦(相当已经掌握了Windows系统的操作)。学习Linux命令只是开始大数据学习的第一步,后面还有很多路很多坑需要踩,大家跟着我的步伐往前踏哦!

本期要跟大家分享的是如何利用自己的PC机搭建一个伪分布式虚拟机集群,首先看一下搭建的框架,如下图所示(由于自己的电脑性能不是很高,所以只搭建三台虚拟机哦^-^,如果您的电脑扛得住,可以搭建更多的虚拟机。)

针对上图,有几点需要说明:

  • 三台虚拟机中有一台用作master,即主节点,用于Hadoop的NameNode节点(NameNode的主要功能是记录数据的元信息,如表字段、表名称、数据块id等);
  • 三台虚拟机中有两台用作slave,即从节点,用于Hadoop的DataNode节点(DataNode的主要功能是存储数据内容和读写数据,通常一个数据块是128M);
  • 三台虚拟机之间能够互相通信,同时虚拟机与PC机也能够通信;

接下来,我们就开始一步步地完成Hadoop集群的搭建。受篇幅影响,这里只介绍重点环节,如需详细的流程可以在文末下载链接中获得安装步骤的文档。

配置网络

为了能够使PC机与虚拟机之间通信,必须将PC机和虚拟机的IP设置到相同的网段。如果希望虚拟机也能够联网,还需要将PC机和虚拟机的网关保持相同。所以,需要配置PC机和虚拟机的网络。

  • 配置PC机中的Vmnet8网卡

在PC机中安装好VMware虚拟机后,PC机的网络中就会生成两个网卡,一个是Vmnet1网卡和Vmnet8网卡,其中Vmnet1对应虚拟机中的Host-Only网络模式,而Vmnet8则对应NAT网络模式。由于配置虚拟机时,使用的是NAT模式,故接下来需要配置Vmnet8网卡。

不妨将该网卡的IP配置为192.168.8.88,子网掩码配置为255.255.255.0,网关设置为192.168.8.2,DNS设置为8.8.8.8(8.8.8.8是Google提供的免费DNS服务器)。需要注意的是网关的前三段数字必须与IP地址一致,网关的最后一位数字需设置为2。

  • 配置虚拟机中的Vmnet8网卡

当PC机的网卡配置好后,还需要配置虚拟机的IP,目的是使PC机与虚拟机之间通信。配置虚拟机的IP必须保证与PC的IP网段相同,即192.168.8.*的格式。具体配置如下图所示:

选择Vmnet8的网卡,将DHCP对应的选框去除,保证IP是静态的(如果不去掉的话,每次开机IP是动态变化的)。将子网设置为192.168.8.0,网段与PC机相同。再点击”NAT”设置,将虚拟机的网关设置为PC机的网关。

再选择“DNS设置”,将DNS服务器设置为8.8.8.8(与PC机的DNS保持一致哦),这个设置主要是为了让虚拟机联网。

  • 固定Linux系统的IP地址

设置好网卡后,最后还需要配置Master节点(即虚拟机中一台Linux系统的电脑)的IP、网关和子网掩码,具体操作如下:

输入:

vim/etc/sysconfig/network-scripts/ifcfg-eth0

删除etho网卡中的UUID值(唯一识别码)、HWADDR(MAC地址)值和LAST_CONNECT(最近一次连接时间)值,如果不删除的话,会影响后面虚拟机的克隆。

把eth0网卡中的BOOTPROTO设置为static(即表示静态IP),此外再增加静态的IP地址(网段必须与PC机一致)、网关、子网掩码和DNS服务器。

  • 测试PC机与虚拟机之间的通信

非常完美,虚拟机(192.168.8.100)可以ping通PC机(192.168.8.88),同时虚拟机也可以ping通baidu(说明可以连接网络)。

关闭防火墙和selinux

为了防止不必要的麻烦,使后续hadoop集群搭建更加地顺利,最好把虚拟机的防火墙关闭,命令如下:

chkconfig iptables off

为确保万无一失,还需要配置/etc/sysconfig目录下的selinux文件,配置方式如下:

重启虚拟机,并验证防火墙是否成功关闭,如下图所示,此时的防火墙以处于关闭状态:

修改主机名

此时的虚拟机名称为BData,我们需要将其重新修改为master,目的是区别分布式集群中的主节点(master)和从节点(slaves)。修改主机名需要配置/etc/hosts文件和/etc/sysconfig/network这两个文件,具体修改如下:

如上图所示,在配置/etc/hosts文件时,需要将默认的前两行删除或注释掉,然后再添加红框中的内容。

如上图所示,配置/etc/sysconfig/network文件时,需要将HOSTNAME修改为master。

修改好这两个文件后,只需要重启虚拟机,便可以发现计算机的名称已经被修改了。

克隆虚拟机

如上操作仅仅是在配置一台master的计算机,在前文我们已经提到,hadoop集群将架构在一台master和两台slaves之上,故还需要创建两台虚拟机。创建过程只需要克隆即可。

克隆过程是非常简单的,在VMware的主页,右击一台虚拟机,选择管理中的克隆(选择完整克隆哦),然后下一步,设置虚拟机的名称和安装地址,最后点击完成静静地等待它完成克隆。

但是问题来了,克隆的slave1机器无法联网,这是因为在克隆的时候,新的网卡eth1覆盖了eth0。

解决问题的方法很简单,只需要配置/etc/udev/rules.d/目录下的70-persistent-net.rules文件即可,先看一下该文件的内容:

配置时,将第一行的内容注释掉(即在第一行SUBSYSTEM前面加上#号),然后再将第二行的eth1值改为eth0值。

配置克隆虚拟机的eth0网卡

输入:vim/etc/sysconfig/network-scripts/ifcfg-eth0,将IP地址修改为192.168.8.101。

修改克隆虚拟机的名称

配置/etc/hosts文件和/etc/sysconfig/network文件,将虚拟机的名称修改为slave1,具体配置如下:

同理,安装克隆slave1的方式再克隆一台虚拟机,并将计算机的名称修改为slave2。最后,在Shell5中同时连接三台虚拟机,测试三台虚拟机之间的通信状况,测试结果如下:

非常爽,我们已经完成三台虚拟机的配置啦,互相之间可以实现网络通信,同时,也都可以连接互联网哦。

结语

本期的内容就介绍到这里,下一期我们将基于搭建好的三台虚拟机,安装和配置Hadoop环境(包括HDFS系统、Map-Reduce计算框架已经Yarn调度器)。如果你有任何问题,欢迎在公众号的留言区域表达你的疑问。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。

搭建虚拟机的文档下载地址:

链接:https://pan.baidu.com/s/1hyI076BifwT9GnHzk9dEUw

提取码:1syq

原文发布于微信公众号 - 数据分析1480(lsxxx2011)

原文发表时间:2019-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券