• 周四. 12月 1st, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

大数据入门:Hadoop伪分布式集群环境搭建教程

[db:作者]

1月 6, 2022

在大数据的学习过程中,对于集群的掌握,从理论到实操都是要熟练的。然而很多小伙伴在学习之初,往往遇到这样那样的问题。今天我们就从大数据入门的角度,来分享一份Hadoop伪分布式集群环境搭建教程。

我们以三台虚拟机为例来做练习,在电脑性能有限的情况下,搭建三台虚拟机还是可行的。

三台虚拟机中有一台用作master,即主节点,用于Hadoop的NameNode节点(NameNode的主要功能是记录数据的元信息,如表字段、表名称、数据块id等);

三台虚拟机中有两台用作slave,即从节点,用于Hadoop的DataNode节点(DataNode的主要功能是存储数据内容和读写数据,通常一个数据块是128M);

三台虚拟机之间能够互相通信,同时虚拟机与PC机也能够通信;

接下来,我们就开始一步步地完成Hadoop集群的搭建——

第一步:配置网络

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

第二步:固定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文件。

重启虚拟机,并验证防火墙是否成功关闭。

第五步:修改主机名

虚拟机需要将其重新修改为master,目的是区别分布式集群中的主节点(master)和从节点(slaves)。修改主机名需要配置/etc/hosts文件和/etc/sysconfig/network这两个文件,修改好这两个文件后,只需要重启虚拟机,便可以发现计算机的名称已经被修改了。

第六步:克隆虚拟机

如上操作仅仅是在配置一台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中同时连接三台虚拟机,测试三台虚拟机之间的通信状况,互相之间可以实现网络通信,同时也都可以连接互联网,就算是成功了。

总的来说,在大数据学习当中,学会搭建集群环境是非常关键的一步,下一步则是进入大数据技术框架的学习了。

原文链接:
http://www.dtinone.net/news/1358.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注