Hadoop我爱编程

详细记录Hadoop环境搭建和安装过程(伪分布式)

2018-03-14  本文已影响62人  不会飞的程序员

一、闲言

最近看到大神说,坚持写博客对于技术上有一定的提升,正好本人最近准备要学习大数据技术,于是兴致冲冲的跑道简书上注册了一个博客账号,也不知道自己能坚持多长时间。本人博客只记录自己的学习过程,如果有小伙伴看到我的博客不小心被误导了,你来打我呀!!

本篇记录在搭建Hadoop环境及安装Hadoop的详细过程,如果对小伙伴们有一些帮助,本人实在是荣幸之至。话不多说,开始正题!

二、搭建准备

我的环境是VMware Workstation10、CentOs6.8、jdk1.8以及Hadoop2.6.1。

图1:虚拟机配置

CentOs6.8的安装还有VMTools的安装以及jdk1.8安装这里就不再赘述,如有问题自行百度,直接从安装完成linux系统后开始说起。

1.设置共享文件夹

设置共享文件夹时虚拟机要处于关机状态

在VMware Workstation10的菜单上点击虚拟机--设置--选项,如图所示:

图2:设置共享文件夹

点击共享文件夹,右边勾选总是启用,下面点击添加,选择一个本机的文件夹作文共享文件夹,最后点击确定。

2.修改主机名称

打开虚拟机,进入终端,输入命令:hostname 查看当前主机名:

图3:查看主机名

因为我们要建立三台虚拟机,为了方便管理,让主机名称和IP地址有对应关系,我们把主机名改为hadoop100、hadoop101、hadoop102。

输入vim /etc/sysconfig/network  并点击回车,编辑配置文件,将HOSTNAME的值改为hadoop100,保存退出。注意:主机名称不要有下划线

图4:修改主机名

接下来在终端输入vim /etc/hosts,修改主机映射文件,添加以下内容:

192.168.229.100 hadoop100

192.168.229.101 hadoop101

192.168.229.102 hadoop102

上述ip地址在你的主机上查看:打开网络和共享中心--更改适配器设置,找到VMware Network Adapter VMnet8,如图:

图5:win7下的VM网络适配器

右键这个图标,属性--网络,找到internet协议版本4,双击打开:

图6:虚拟机适配器属性 图7:查看IP地址

我这里是192.168.229.1,所以我上面的hosts文件里填的ip前面都是192.168.229,最后一位随便填,只要不IP冲突就行。

修改完是这个样子的:

图:8:修改虚拟机hosts文件

修改之后保存退出,下面我们要关闭防火墙,以免后面我们启动集群失败,终端输入:chkconfig iptables off

重启虚拟机,然后在终端输入hostname查看主机名已经修改成功。

检查防火墙状态,终端输入:service iptables status

如果看到iptables,就是防火墙关掉了

修改window7的主机映射文件(hosts文件)

       (1)进入C:\Windows\System32\drivers\etc路径

       (2)打开hosts文件并添加如下内容

                192.168.229.100 hadoop100

                192.168.229.101 hadoop101

                192.168.229.102 hadoop102

3.修改虚拟机ip地址

前面写在hosts文件里的东西就是我们各个虚拟机的ip,现在我要把我的IP改为192.168.229.100。开搞!!

终端输入:vim /etc/sysconfig/network-scripts/ifcfg-eth0,编辑这个配置文件,修改成以下配置:

图9:配置ip

下面三行原来没有的话就加上,ip、网关、DNS地址要改成你自己的,保存退出。

终端输入:service network restart  重启网卡,如果出现图10错误,重启虚拟机

图10:网卡重启错误

终端输入:ifconfig 查看ip

图11:修改成功

可以看到,修改成功了。

此时这个虚拟机一定累了,让他歇一会,终端输入:sync 同步内存中数据到文件,接着终端输入poweroff 关机。

三、克隆虚拟机

1.克隆

大数据就是分布式的数据挖掘,既然是分布式的,我们就克隆咱们之前配置好的虚拟机来模拟多个服务器。

虚拟机关机状态下,点击虚拟机--管理--克隆:出现如下界面,点击下一步

图12:克隆向导1

我们需要从当前状态克隆,点击下一步

图13:克隆向导2

选中创建完整克隆,点击下一步

图14:克隆向导3

输入虚拟机名称,选择虚拟机位置,点击完成

图15:克隆向导4

正在克隆,等待。。。。。。

图16:正在克隆

克隆完之后,别着急开机,看看新克隆的虚拟机的共享文件夹是否启用,然后再克隆一个虚拟机,重复以上克隆步骤,虚拟机名称hadoop102。

修改hadoop101和hadoop102的主机名,分别改成hadoop101和hadoop102(详见上文,修改主机名称)

2.修改克隆的虚拟机的网卡配置

:终端输入:vim /etc/udev/rules.d/70-persistent-net.rules  编辑网卡配置信息

网卡配置

打开我们发现多了一个网卡信息,将上面那行删掉,下面那行需要复制那个MAC地址,后面要用到,把末尾的eth1改成eth0,保存并退出。

终端输入:vim /etc/sysconfig/network-scripts/ifcfg-eth0

更改ip

将上面复制的MAC替换到相应位置,下面ip改成hadoop101对应的,然后重启网卡:service network restart,如果报错重启虚拟机,在终端输入ifconfig看IP是否正确。

重复以上步骤,把hadoop102也像这样配置。

四、 SecureCRT连接三台虚拟机

Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。

Linux系统中是通过SSH服务实现的远程登录功能,默认ssh服务端口号为 22。Window系统上 Linux 远程登录客户端有SecureCRT, Putty, SSH SecureShell,XShell等,这里我们用SecureCRT。

SecureCRT的安装和使用本人在这里就不再说了,可以点击下方链接,学习SecureCRT的使用

SecureCRT使用(转自xingyiGao)

连接三台虚拟机

这样就连接好了。

五、建立机器间的互信关系

在主节点中,也就是hadoop100,输入ssh-keygen,然后一路按回车;

再次输入ssh-keygen,这次回车要慢点,遇到让你输入yes/no的时候一律输入yes

生成密匙

然后,每个机器上都这样做,输入两遍ssh-keygen。

再然后,回到我们的主节点,终端输入命令:cd ~/.ssh/

密匙

这个目录下的id_rsa是私钥,id_rsa.pub是公钥,我们要对id_rsa.pub这个公钥文件的内容拷贝给authorized_keys这个文件,如果没有请自行创建。

输入命令:cat id_rsa.pub查看公钥,把三个子节点的公钥全部复制到authorized_keys文件中去。

查看公钥 粘贴过后

然后下一步操作就是把主节点上的authorized_keys分别复制给hadoop101和hadoop102这两个节点上。输入:scp -rp authorized_keys 192.168.229.101:~/.ssh/

再输入:scp -rp authorized_keys 192.168.229.102:~/.ssh/

复制 authorized_keys

第一次传输会要求你确认和输入传入机器的密码。在两个子节点输入:cat authorized_keys 来查看文件是否传到两个子节点中。

查看子节点是否传入文件

好了,现在你的三台机器可以互相登录且不需要密码了。

我们来验证一下,在主节点输入:ssh 192.168.229.101  ,退出exit,回车

在主节点输入:ssh 192.168.229.102 ,退出exit,回车

互信登录

六、开始安装Hadoop

呼呼,写了这么久,终于到重头戏了。

回到主节点,来到我们的共享文件夹:cd /mnt/hdfs/VMShare/  复制hadoop-2.6.1.tar.gz文件到/usr/local/src 下,然后解压。tar -xzvf hadoop-2.6.1.tar.gz

然后在hadoop-2.6.1这个目录下创建一个tmp目录,用来存放之后的一些临时文件,

命令:mkdir tmp

来到hadoop-2.6.1/etc/hadoop/文件夹下,修改hadoop文件夹里面的hadoop-env.sh

命令:vim hadoop-env.sh

配置文件

红框里面的代码本来是有注释的,把他打开,或者换成你自己的java绝对路径

修改yarn-env.sh文件:vim yarn-env.sh

yarn-env.sh

红框里的代码取消注释,并把javahome填进去。

编辑slaves文件,将两个子节点填进去:vim slaves

slaves文件

然后修改core-site.xml这个文件:vim core-site.xml  讲一下配置粘贴进去:

core-site.xml

修改hdfs-site.xml文件,将以下配置添加:

hdfs-site.xml

然后在hadoop根目录下有一个文件mapred-site.xml.template模版,你需要将其拷贝一份并且改名为mapred-site.xml。

命令行输入:cp mapred-site.xml.template mapred-site.xml

然后修改mapred-site.xml这个文件:vim mapred-site.xml

mapred-site.xml

修改yarn-site.xml文件:vim yarn-site.xml

yarn-site.xml

然后把这个hadoop-2.6.1文件夹分发到子节点上:

命令:scp -rp hadoop-2.6.1 192.168.229.101:/usr/local/src/

命令:scp -rp hadoop-2.6.1 192.168.229.102:/usr/local/src/

看看两个子节点上/usr/local/src/下有没有hadoop-2.6.1文件夹。

写到这里发现没有配置hadoop的环境变量,于是苦逼的配置了三次,在/etc/profile文件中添加下图红框里的东西

hadoop环境变量

传输成功之后,我们回到主节点,准备启动hadoop

在启动之前,一定要先格式化hadoop下的bin目录,而且三个虚拟机都要执行。

命令:hadoop namenode -formate

下面一大堆我就不截图了

执行完格式化,打开主节点,输入命令:./sbin/start-all.sh

查看是否启动成功,输入命令:jps

如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试,如果NameNode没有启动,那就是配置不成功,请仔细检查以上步骤。

主节点:hadoop100启动成功

同样的,我们查看各个子节点是否启动成功,切换到主节点不用再次启动hadoop了,直接输入jps查看状态。

子节点:hadoop101启动成功 子节点:hadoop102启动成功

至此,hadoop就安装完毕了。如果以后在使用的时候遇到什么问题我会持续更新。

上一篇下一篇

猜你喜欢

热点阅读