美文网首页部署运维@IT·大数据大数据学习专题
hadoop(一)CentOS7安装单机版Hadoop2.7.3

hadoop(一)CentOS7安装单机版Hadoop2.7.3

作者: 文子轩 | 来源:发表于2018-02-26 14:11 被阅读111次

    CentOS7安装单机版Hadoop2.7.3

    前期准备

    • 安装java,拷贝oracle官网下载的jdk-8u111-linux-x64.rpm到虚拟机内。并安装:

      rpm -i jdk-8u111-linux-x64.rpm
      
      
    • 设定java路径为环境变量,编辑/etc/profile文件,加入一行:

      export JAVA_HOME=/usr/java/latest
      
      
    • 通过source命令应用JAVA_HOME环境变量,并验证

      echo $JAVA_HOME  //输出空路径
      source /etc/profile
      echo $JAVA_HOME  //此时输出正确的JAVA_HOME
      
      
    • 拷贝hadoop-2.7.3.tar.gz到用户路径下。

    • 解压缩

      tar -xf hadoop-2.7.3.tar.gz
      
      
    • 获得hadoop-2.7.3目录,进入该目录下。

    以standalone形式运行hadoop程序

    具体请参考: http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/SingleCluster.html

    第一步,以单机模式运行Hadoop程序:

    • 为Hadoop配置Java运行路径,编辑Hadoop-2.7.3路径下的 etc/hadoop/hadoop-env.sh 文件加入java路径,如下行:

       export JAVA_HOME=/usr/java/latest
      
      
    • 执行Hadoop自带的mapReduce示例:

      //在Hadoop-2.7.3路径下创建input目录
      $ mkdir input
      //将hadoop的配置拷贝到刚创建的input目录下
      $ cp etc/hadoop/*.xml input
      //对input路径下的文件执行Hadoop自带示例中的MapReduce程序,并将输出写入到output目录中。**这里增加了2>>err.txt,由于Hadoop的输出一闪而过,通过这条参数将其输出到err.txt文件中。**
      $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input/ output/ 'dfs[a-z.]+' 2>>err.txt
      $ cat output/*
      
      
    • 执行后,查看err.txt文件发现报错,暂时不知道报错原因:

      EBADF:Bad file descriptor
      
      
    • 通过命令查看output目录内的输出

      1 dfsadmin
      
      
    • 注意如果要再次运行该mapReduce程序,要先删除output命令,否则会出现output目录已经存在的报错。

    第二步,搭建伪分布式(开启HDFS)

    • 根据Apache的教程,配置core-site.xml和hdfs-site.xml

    • 安装ssh

    • 格式化分布式文件系统

      $ bin/hdfs namenode -format

    • 启动分布式文件系统,中间需要确认几次输入yes。分别启动namenode, datanode, secondarynamenode。

      $ sbin/start-dfs.sh

    • 浏览器访问http://localhost:50070可以看到远程访问hdfs的页面,启动HDFS成功。

    • 在hdfs上创建input目录

      bin/hdfs dfs -mkdir /input
      
      
    • 将文件系统中Hadoop-2.7.3安装目录下的配置路径etc/hadoop中所有的配置文件拷贝到hdfs上的/input目录中

      bin/hdfs dfs -put etc/hadoop/* /input
      
      
    • 在HDFS上运行之前的mapReduce示例,并将错误日志输出到err2.txt:

        $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+' 2>>err2.txt
      
      
    • 可以看到仍然包含bad file description异常。这个异常后面再去找原因。

    • 查看刚才mapReduce计算的输出

      $ bin/hdfs dfs -cat /output/*
      
      
    • 如果要关闭hdfs使用:

      $ sbin/stop-dfs.sh
      
      

    第三步,在单节点上开启yarn

    • 根据Apache的官方教程,编辑两个配置文件mapred-site.xml和yarn-site.xml

    • 键入命令启动yarn

      sbin/start-yarn.sh
      
      
    • 如果要关闭yarn键入命令:

      sbin/stop-yarn.sh
      
      

    总结

    • 最初只给虚拟机分配了2G的内存,单核CPU。在运行上面的MapReduce例子时会出现卡死的情况。分析日志发现同时有OutOfMemory和TimeOut两种异常。通过增加CPU到4核,内存到5G,在yarn上能够顺利的运行MapReduce例子了。

    相关文章

      网友评论

        本文标题:hadoop(一)CentOS7安装单机版Hadoop2.7.3

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