Review - Big Data Term Project

本文主要记录在vmware虚拟机上搭建hadoop-1.2.1的流程,包括虚拟机搭建、网络配置、hadoop搭建及静态ip设置等步骤,还分享了搭建过程中遇到的bug及解决办法,如格式化namenode失败的解决方法,以及让虚拟机ip静态化的两种方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Big Data Big Project

写在前面

这篇文章主要给我们组没怎么做过的组员看吧
我算是大概记录了一下整个流程(搭建过程以及过程中遇到的bug及解决办法),具体做法大多贴了我当时就具体使用的博客等等的链接。
我们组这次完成的工作主要是

  1. 在vmware虚拟机上搭建hadoop-1.2.1,用python写了wordcount的mapreduce脚本
  2. 在vmware虚拟机上搭建hadoop-2.7.3,并搭建spark
  3. 使用docker搭建spark环境,hadoop-2.7,用python调用并训练Word2Vec模型(机器学习模型),通过python使用改进后的TextRank算法对文章进行关键句词提取。
    这些工作的话我们拟分工就是:大家都自己完成了第一项工作。
    所以在接下来的文章你们只用看有关第一项工作的就行了(剩下的我有时间再写hhhh)。
    推荐先整体看看工作的流程,想要了解具体操作时再点进去链接,要不然可能要看比较久。
    报告的话大家尽量根据这篇Review完成吧,有什么问题的话再问我^_^

虚拟机搭建

大致依照这篇博客进行。

创建虚拟机

安装操作系统

我们一开始安装了CentOS6.4,但是在之后调整三台虚拟机之间的网络配置时遇到了困难,最后选用了CentOS7.0。
安装使用CentOS7.0-minimal的iso映像(非图形界面)(为了省磁盘空间。。。
iso映像:一种光盘的存档文件,包含文件系统在内光盘的所有数据
1ajsnalf
使用iso映像文件等同于物理机插入光盘(第一次操作时误以为直接是读取文件的意思光等了好久= =实时上直接开机就可以进入安装界面)

虚拟机网络配置

这一步很坑= =
当初为什么选择CentOS7也是因为6.4的网络配置太麻烦

配置NAT模式

关于虚拟机联网的三种主要方式:host-only, bridged, NAT
详见:啦啦啦
在CentOS6.4上配置主要按照这篇这篇
期间因为虚拟机克隆导致网卡同名等等问题搞了n久
最后放弃6.4选择7
在CentOS7上使用nmtui:
12
aa
edit ->

aaa
下面两个勾上就行

改名儿

CentOS7可以直接用nmtui改hostname就完事

开始搭建hadoop啦~

关于理论基础:这篇前面提到的那几篇康康就行

1. 修改hosts:方便之后直接用主机名而不是IP地址

具体做法详见上面链接

2. 配置ssh无密码访问

ssh:一种远程操控另一台机器的协议
但是一般的用ssh连接另一台机器每次都需要输入密码,为了方便hadoop系统中每一台机器都可以顺畅的连接到另外的n台,需要让他们能无密码互相访问
具体做法见上面连接

3. 安装hadoop及配置配置文件

没啥特别的详见上面链接

4. 格式化namenode

前面我们编辑好了hadoop的配置文件的配置,接下来就要让他们生效。具体做法就是在master上格式化namenode。
具体操作步骤见上面链接。
这里有一个比较常见的bug(大多数人都会遇到的,可以写进报告的hhh):
在第一次格式化的过程中,很可能某一个配置文件哪里没配置好,格式化后datanode跑不起来(检查datanode有没有跑起来的办法在上面链接里有(其实就是通过jps查看进程)),在修改了配置文件再重新格式化之后,会发现还是不行。
原因是:在第一次格式化namenode时,namenode节点和datanode节点会生成一份版本信息文件,文件中有各自的id等等。当尝试进行格式化时,hadoop会在namenode和datanode上生成各自适配的版本信息。如果第一次格式化失败,进行第二次格式化后,namenode上的版本信息和datanode上面的版本信息就会不一样(可以看做每次针对namenode的格式化会改变namenode的版本信息而datanode则不会变(当然具体原理可能不是这样))
解决方法则是在第二次格式化namenode之前,把namenode和datanode上面的版本信息先删掉。具体做法因为找版本信息在哪里很麻烦,直接rm -r ./hdfs
,将hdfs文件夹(即每次格式化后创建的文件夹)删了完事

静态ip

事实上走完上面的步骤,hadoop-1.2.1应该就能跑了(具体能不能可以尝试几个hadoop命令,见this page
但是过了几天,当你想回过头来试试情况,会惊奇的发现虚拟机们的ip地址变了。
这就导致他们之间ssh无法访问,hadoop系统又要重新配置。如果他们一直变来变去,这个系统显然就是有点大问题了。
解决思路也很简单:想办法令他们的ip是静态的。
于是查找若干资料发现:vmware虚拟机用NAT模式联网的时候,ip地址通过dhcp服务器分配,这个分配是动态的,dhcp服务器会看情况给虚拟机IP地址,且过一段时间,这个IP地址还会被他收回。所以想解决掉这个问题,要么就想办法摆弄dhcp服务器,使其能为我这几台机子静态分配ip,要么,就不用dhcp了。

第一种方法:配置dhcp服务器

具体做法是在一本纸质书上看到的,所以就只能写在这里了(没链接可以贴了= =r)
在dhcp服务器配置文件中加入:

host 主机名称 {
hardware ethernet MAC地址
fixed-address IP地址
}

完事。
但是问题又来了,我们去哪里找vmware的dhcp服务器的配置文件呢?(gui里面是么得的)
查了n久后,发现其实官网里面有这个DOC

第二种方法:md干脆不用啦!

这个就简单粗暴了,如果是CentOS7以上的版本,使用nmtui,把dhcp一关,手动设置一下ip地址(我记得还要设置dns服务器什么的,记不太清了)就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值