大数据学习笔记(三)hadoop本地模式

一、Hadoop的目录结构解析

目录名解释
bin可执行程序
etc配置文件
includeC/C++ 头文件
lib自身库文件
libexec自身程序的配置文件
sbin常用操作脚本(启动、关闭)组件
share包含了帮助文档和jar包支持库等.

二、Hadoop的运行模式

1. 本地模式 (Single Node Cluster)单节点集群用户调试.

    1. 编辑hadoop配置文件

       vi /etc/hadoop/hadoop.env.sh
       找到 export JAVA_HOME
       将${JAVA_HOME} 替换成 JDK真实路径
      
    1. 测试运行一个WordCount例子

      • A.在hadoop根目录新建一个文件夹

        mkdir input
        cd input
        vi 1.txt
        #写入内容
        hello hadoop
        hello java
        hello hdfs
        hadoop java
        
      • B.运行官方自带例子,进行wordcount统计

        hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount input output
        

总结:本地模式适合调试MR程序.没有HDFS,没有Yarn.计算本地文件,并输出结果到本地.

2.伪分布式运行模式

所谓的伪分布式,指的就是用一台计算机模拟集群。(只有一个节点的分布式)

  1. HDFS的伪分布式

    • A. 修改etc/hadoop/core.site.xml配置文件

        <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:9000</value>
        </property>
      

      设置文件系统为默认文件系统,端口号为9000

    • B.修改etc/hadoop/hdfs.site.xml配置文件

       <property>
              <name>dfs.replication</name>
              <value>1</value>
       </property>
      

      设置HDFS文件系统的副本数为1.默认值为3

    • C.格式化NameNode.(第一次运行HDFS必须要格式化一次文件系统.以后再次运行,千万不要执行这个命令.)

      hdfs namenode -format
      
    • D.启动NameNode

      hadoop-daemon.sh start namenode
      
    • E.查看启动状态.

      jps
      
    • F.启动DataNode

      hadoop-daemon.sh start datanode
      

      全部完毕之后:

      http://IP地址:50070 (WEB服务的端口号不是9000)

      当多次格式化namenode会造成无法启动datanode启动失败.

      nn与dn通过一串ID进行关联,重新format NN之后,clusterID就会更换

      vi /tmp/hadoop-dt/dfs/name/current/VERSION
      修改ID 保持一致
      head   查看文件头 内容
      tail   查看文件尾 内容
      cat    查看内容
      tmp文件夹暂时会有安全隐患,后期要改.
      
      jps 是打印java进程
      kill pid      #杀死PID对应的进程.
      ps 打印系统进程
      
      

      第二次格式化NN,手工修复无法启动DN的错误

  2. Yarn的伪分布

    HDFS:NN,DN,2NN

    Yarn:RM AM NM

    • A.修改yarn.env.sh 配置JAVA_HOME

    • B.修改yarn.site.xml

       <property>
              <name>yarn.nodemanager.aux-services</name>
              <value>mapreduce_shuffle</value>
      </property>
      <!--DOC文档中复制-->
      
    • C.修改mapred.env.sh 配置JAVA_HOME

    • D.根据mapred.site 模板,复制出一个配置文件并,添加相关配置项

      cp mapred.site.xml.template  mapred.site.xml
      vi mapred.site.xml 
      #增p-n-v
      <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
      </property>
      
    • E.启动

      yarn-daemon.sh start resourcemanager#启动rm
      yarn-daemon.sh start nodemanager #启动nm
      

      rm的默认端口号是:8088

    • 总结:

      HDFS:

      ​ 协议地址:9000

      ​ 管理地址:50070

      Yarn:

      ​ 管理地址是:8088

      *HDFS上传文件

      hadoop fs -put 目录 位置
      

      hdfs dfs -put 目录 位置
      

      通过shell命令操作HDFS的文件上传下载,删除等操作称之为hdfs shell.

      MapReduce运行wordcount

      hadoop jar /opt/module/hadoop-2.10.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar
      wordcount /input /output
      

      HDFS 删除文件的shell

      hadoop fs -rm -r /hdfspath
      

      HDFS 查看文件内容

      hadoop fs -cat /hfdspath
      

      系统默认的data存储在tmp目录,tmp目录会在定时策略下情况文件夹内所有内容.

      所以hadoop的data存储必须存储在自定义的非tmp目录下

      #将data存储位置更换到hadoop根目录下的data文件夹下
      vi etc/hadoop/core.site.xml
      <property>
      	<name>hadoop.tmp.dir</name>
      	<value>/opt/module/hadoop2.x.x/data</value>
      </property>
      重新执行 hdfs namenode -format
      重启各个服务.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值