hadoop2.0初识1.1

时间:2023-03-09 18:26:39
hadoop2.0初识1.1

1.伪分布式hdfs文件系统的搭建(单节点文件系统)

  1.1.根据上节的讲解,配置主机映射、jdk和解压hadoop压缩包

  1.2.配置namenode

    在/opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml中配置一下内容

     <!--配置namenode所在主机和端口-->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://life-hadoop.life.com:8020</value>
       </property>

    <!--配置数据临时目录 如果不存在需要先创建给目录-->
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/opt/modules/hadoop-2.5.0/data/temp</value>
    </property>
    
    <!--配置删除的文件在垃圾箱中存储的时间,单位:分钟-->
    <property>
      <name>fs.trash.interval</name>
      <value>10080</value>
    </property>

    1.2.1.格式化文件系统

      [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs namenode -format

    1.2.2.运行[yanglin@life-hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode查看是否启动成功

      hadoop2.0初识1.1

     或者在浏览器中输入life-hadoop:50070  其中life-hadoop为主机名

      hadoop2.0初识1.1

   1.3.配置secondarynamenode

      1.3.1.在/opt/modules/hadoop-2.5.0/etc/hadoop/hdfs-site.xml中配置一下内容

        <!--配置secondarynamenode所在的主机-->
        <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>life-hadoop.life.com:50090</value>
        </property>

      1.3.2.运行[yanglin@life-hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start secondarynamenode

        hadoop2.0初识1.1

   1.4.配置datanode

    1.4.1.在/opt/modules/hadoop-2.5.0/etc/hadoop/hdfs-site.xml中配置一下内容

      <!--配置备份数-->
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>

    1.4.2.在/opt/modules/hadoop-2.5.0/etc/hadoop/salves中配置datanode所在的主机

      hadoop2.0初识1.1

    1.4.3.运行[yanglin@life-hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode命令启动datanode

      hadoop2.0初识1.1

2.到此我们的伪分布式文件系统已经配置完成,接下来进行测试

  2.1.查看当前文件系统的目录

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -ls -R /

    或者

      hadoop2.0初识1.1

  2.2.创建目录

    创建/user/yanglin/conf目录

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -mkdir -p /user/yanglin/conf

    可以通过web浏览器进行验证是否创建成功

  2.3.上传文件

    将本地的etc/hadoop/*-site.xml文件上传到/user/yanglin/conf目录中

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -put etc/hadoop/*-site.xml /user/yanglin/conf

  2.4.下载文件

    将服务器中的/user/yanglin/conf/core-site.xml下载到当前目录

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -get /user/yanglin/conf/core-site.xml

    hadoop2.0初识1.1

  2.5.查看指定文件的内容

    查看/user/yanglin/conf/core-site.xml文件的内容

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs -cat /user/yanglin/conf/core-site.xml

    hadoop2.0初识1.1

  2.6.删除指定文件或目录

    删除/user/yanglin/conf/test.txt文件

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -rm -r /user/yanglin/conf/test.txt

  2.7.跟多hdfs命令可以使用[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs查看

    hadoop2.0初识1.1

3.将wrodcount程序运行到hdfs文件系统上

  3.1.创建目录

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs -mkdir -p /user/yanglin/mapreduce/wordcount/input/

  3.2.将测试文件上传到input目录中

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs -put wcinput/wc.input /user/yanglin/mapreduce/wordcount/input/

  3.3.运行mapreduce程序将运行结果上传到hdfs文件系统

    [yanglin@life-hadoop hadoop-2.5.0]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/yanglin/mapreduce/wordcount/input /user/yanglin/mapreduce/wordcount/output

    查看是否运行成功:

      hadoop2.0初识1.1

      或者通过

        [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -ls /user/yanglin/mapreduce/wordcount/output

        hadoop2.0初识1.1

    查看运行结果:

      [yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -text /user/yanglin/mapreduce/wordcount/output/part*

      hadoop2.0初识1.1

4.将项目运行到yarn上

  4.1.配置resourcemanager节点

    4.1.1.在/opt/modules/hadoop-2.5.0/etc/hadoop/yarn-site.xml中配置一下内容

      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    
      <!--配置resourcemanager所在的主机-->
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>life-hadoop.life.com</value>
      </property>

    4.1.2.在/opt/modules/hadoop-2.5.0/etc/hadoop/mapred-site.xml中配置一下内容

      <!--配置使用的yarn框架来运行mapreduce-->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>

  4.2.配置nodemanager节点

    和datanode节点配置一样都是在/opt/modules/hadoop-2.5.0/etc/hadoop/salves文件中

  4.3.启动yarn

    4.3.1.启动resourcemanager节点

      [yanglin@life-hadoop hadoop-2.5.0]$ sbin/yarn-daemon.sh start  resourcemanager

      hadoop2.0初识1.1

    4.3.2.启动nodemanager节点

      [yanglin@life-hadoop hadoop-2.5.0]$ sbin/yarn-daemon.sh start  nodemanager

      hadoop2.0初识1.1

      或者在浏览器中输入life-hadoop:8088

      hadoop2.0初识1.1

    4.3.3.将wordcount程序运行在yarn上

      [yanglin@life-hadoop hadoop-2.5.0]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/yanglin/mapreduce/wordcount/input /user/yanglin/mapreduce/wordcount/output

      和3.3一样查看是否运行成功或者

      hadoop2.0初识1.1

       单点击history是不能显示,是因为没有配置日志聚集功能

5.配置日志聚集

  在/opt/modules/hadoop-2.5.0/etc/hadoop/yarn-site.xml中配置一下内容

  <!-- 配置日志聚集-->
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
    
  <!-- 配置日志的有效时间 7天 单位为秒-->
  <property>
    <name>yarn.log-aggregation.retain-check-interval-seconds</name>
    <value>604800</value>
  </property>

  重启resouremangager和nodemanger重新运行wordcount程序即可