美文网首页Hadoop我爱编程
详细记录Hadoop环境搭建和安装过程(伪分布式)

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

作者: 不会飞的程序员 | 来源:发表于2018-03-14 13:09 被阅读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就安装完毕了。如果以后在使用的时候遇到什么问题我会持续更新。

    相关文章

      网友评论

      • 不会飞的程序员:过几天我会写一个完全分布式的文章,然后正式开始学习大数据技术

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

      本文链接:https://www.haomeiwen.com/subject/isqnfftx.html