Hadoop伪分布式环境配置

Hadoop版本是hadoop-2.8.2

Java版本是Java8

   

Hadoop目录是/home/coley/hadoop

   

Hadoop 的主要概念之间的关系:

从机器上来说,分为一个master server和多个slave server

从Mapreduce计算来说,分为Jobtracker和TaskTracker,jobtrack控制多个TaskTracker

从HDFS来说,分为一个NameNode和多个DataNode,NameNode中记录着DataNode的信息

   

  • 伪分布式集群
    • 所谓的伪分布式集群,主要意思是我们单机测试开发的时候,改server既当Master Server也是Slave Server,既是NameNode,也是DataNode,既是JobTracker也是TaskTracker
  • 具体配置
    • 进入~/hadoop/etc/hadoop目录,打开core-site.xml文件。配置HDFS服务的地址及端口号

         

      Hadoop伪分布式环境配置

         

    • 然后修改hdfs-site.xml,配置HDFS的备份方式。一般默认是3,但是在我们的伪分布式环境中,需要设置为1

      Hadoop伪分布式环境配置

         

      屏幕剪辑的捕获时间: 2017/10/29 20:19

         

         

         

    • 接下来配置MapReduce的配置文件,一开始环境中并没有这个文件,只有一个叫做 mapred-site.xml.template的文件,我们可以复制这个文件,重命名为 mapred-site.xml

         

      Hadoop伪分布式环境配置

         

      屏幕剪辑的捕获时间: 2017/10/29 20:24

         

  • 接下来格式化HDFS
    • 到bin目录下执行HDFS格式化命令:

         

      Hadoop伪分布式环境配置

         

      结果如下:

         

      Hadoop伪分布式环境配置

         

      屏幕剪辑的捕获时间: 2017/10/29 21:12

         

         

  • 格式化完成之后,我们就可以开启我们的Hadoop服务了。执行如下命令

    ~/hadoop/sbin/start-all.sh

    Hadoop伪分布式环境配置

       

    屏幕剪辑的捕获时间: 2017/10/29 21:17

       

    Hadoop伪分布式环境配置

       

    屏幕剪辑的捕获时间: 2017/10/29 21:18

       

    最后发现我们报错了,因为JAVA_HOME没有设置,我要到一个配置环境的文件中设置下:

    修改文件:./etc/hadoop/hadoop-env.sh

       

    Hadoop伪分布式环境配置

       

    屏幕剪辑的捕获时间: 2017/10/29 21:26

       

    然后接下来,重新执行一遍,成功了:

       

    Hadoop伪分布式环境配置

       

    屏幕剪辑的捕获时间: 2017/10/29 21:27

       

    不过也要注意的是,Start-all.sh 将要过期,后续可能会不再使用这个脚本启动服务。我们可以使用start-dfs.sh 和start-yarn.sh来启动服务。

       

  • 接下来的问题是访问服务,默认的可以通过浏览器访问Hadoop的管理页面:
    • http://192.168.213.134:50070/ 50070对应的是HDFS的管理页面
    • http://192.168.213.134:8088/ 8088对应的MapReduce的管理界面。

      其实有专门的文件配置这两个端口,我们在本节就不去详细解释。下面贴一下管理界面的图:

         

         

      Hadoop伪分布式环境配置

         

      屏幕剪辑的捕获时间: 2017/10/29 21:37

         

         

         

         

      Hadoop伪分布式环境配置

         

      屏幕剪辑的捕获时间: 2017/10/29 21:37