hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

      博主最近在vmware workstation14+hadoop2.9.0+Ubuntu16.04LTS环境下搭建了一个master(一个namenode)两个slave(即两个datanode)的分布式hadoop环境,下面将本次博主搭建的过程及步骤按照和各位博友分享,由于博主未保存搭建时各步骤的截图,因此将使用前辈们各步骤截图或者无截图,望各位前辈见谅。

        进行配置之前,需要在ubuntu中安装vim插件编辑文件,相比于vi和gedit工具,该工具更容易操作,也能避免乱码等一系列不必要的问题。

        安装命令:sudo apt-get install vim

        hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

       (一)第一步:新建三台虚拟机,并进行相应的网络配置(静态IP,hostname文件配置,hosts文件配置,关闭防火墙或者开启相应端口)

       (1)利用vmware workstation14新建三个虚拟机(网络模式选择桥接模式)

        hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

        并根据实体机所在的网络环境,在虚拟机中设置静态IP,博主搭建的网络环境如下(各位博友根据自己网络环境进行相应变化):

       master节点:192.168.1.200

       slave1节点:192.168.1.201

       slave2节点:192.168.1.202

       以上配置可以从界面进行操作,以master为例。

       hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

       (2)修改hostname文件,需要root权限,命令:su root,输入密码,然后进入root,然后vim etc/hostname,master节点机器,改为master,于此相同,slave1和slave2节点也分别改为slave1和slave2

       (3)修改hosts文件,将下列内容添加进hosts文件(三个节点均需要配置此步骤,需要root权限,进入root参考上条,以master为例)

         192.168.1.200   master

         192.168.1.201   slave1

         192.168.1.202   slave2

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

       (4)关闭防火墙或者打开使用端口(三个节点均需要配置此步骤,博主使用的是关闭防火墙,简单粗暴)

        进入root用户,关闭防火墙命令为:ufw disable

        运行命令后,提示防火墙服务不会在开机时启动即可

        hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

       (5)测试

        master节点:ping slave1   看是否ping通

                             ping slave2   看是否ping通

        slave1 节点:ping master  看是否ping通

                             ping slave2   看是否ping通

        slave2 节点:ping master  看是否ping通

                             ping slave1   看是否ping通

        如以上测试通过,则第一步配置成功

       (二)第二步,三台虚拟机分别新建相同的用户(如果新建的三台虚拟机有相同的用户,我觉得此步骤可以省略,以master为例)

        (1)新建名为hadoop用户组

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

        (2)添加一个用户mwq,并添加进hadoop用户组,并制定用户目录

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         (3)设置mwq用户密码,连续输入两次

          hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         (4)设置mwq用户权限,赋予admin权限

          hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

          以下步骤切换到mwq用户进行

       (三)第三步,机器未安装ssh时需安装ssh服务,并在三台虚拟机之间开启ssh免密的登录

        (1)三台机器均需安装ssh服务(以master节点为例)

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

        (2)虚拟机自身免密登录自身(三台虚拟机均需要此步骤设置),以master节点为例,输入ssh-****** -t rsa -P "",敲回车两次,直到出现以下界面

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         进入.ssh文件夹

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

        用cat id_rsa.pub >> authorized_keys 命令生成免密登录authorized_keys,实现免密登录

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         效果如下:

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         第一次需要输入yes,以后就不需要了

        (3)配置master到slave1和slave2的免密登录(该操作在slave1和slave2上操作)

         首先将master中生成的id_rsa.pub复制到已安装ssh服务的slave1和slave2中的.ssh文件夹

         然后利用cat   id_rsa.pub >> authorized_keys实现master登录到slave1和slave2的免密登录

        (四)安装java jdk环境(本文使用jdk1.8.0_161,三台虚拟机均需要此操作)

        (1)首先去oracle官网,下载jdk8,默认文件保存到/home/mwq/Downloads

        (2)我的解压目录为/usr/lib下的jvm文件夹,而且jvm文件夹不存在,需要在root权限下创建,如下图所示

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         进入jvm文件夹

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         复制Downloads文件夹下的jdk到jvm并解压

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         切换到mwq用户并配置环境变量,编辑/.bashrc文件

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         在文件末尾输入以下内容

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         使配置文件生效

          hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

         查看是否配置成功

         hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)   

        另外的slave1和slave2节点也可按照以上步骤配置      

        (五)下载并配置hadoop(三台主机均需相同配置)

         在以下地址http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz下载hadoop-2.9.0,千万别下成hadoop-2.9.0-src.tar.gz

           博主在/home/mwq中新建hadoop文件夹,并将hadoop-2.9.0解压到hadoop下面(三台主机存放hadoop-2.9.0文件的位置相同)

           修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/hadoop-env.sh文件

           hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

           修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml文件

           hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

           修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/hdfs-site.xml文件

           hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

           修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml.template文件

           hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

           修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/slaves文件

           hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)        

           修改/etc/profile文件,加入以下内容

           hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

          运行结果:

          hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)          

       (六)格式化,只需在master节点

         hadoop namenode -format,测试通过后可以配置yarn和mapreduce

       (七)配置yarn,主要修改yarn-env.sh,yarn-site.xml和mapred-sitexml,master节点修改好之后,复制到slave1和salve2节点即可

         yarn-env.sh 添加jdk目录

        hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

       mapred-site.xml在刚才配置的基础上,增加以下未有的内容

       hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

       yarn-site.xml增加以下配置

       hadoop分布式环境搭建(vmware14+hadoop2.9.0(包含yarn)+Ubuntu16.04LTS+jdk1.8.0_161)

        (七)启动hadoop服务

         start-all.sh