ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第四章 Hadoop运行模式

2020-03-08 23:01:33  阅读:321  来源: 互联网

标签:rw Hadoop 模式 hadoop ge 集群 hadoop101 2.7 第四章


    Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式

    Hadoop官方网站 : https://hadoop.apache.org    

    文档链接 :https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html

 

  • 4.1本地运行模式

  • 4.1.1官方Grep案例

    1、在hadoop-2.7.7文件下面创建一个input文件夹

[ge@hadoop101 hadoop-2.7.7]$ mkdir input

    2、将Hadoop的xml配置文件复制到input

[ge@hadoop101 hadoop-2.7.7]$ cp etc/hadoop/*.xml input

    3、执行share目录下的MapReduce程序

[ge@hadoop101 hadoop-2.7.7]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar grep input output 'dfs[a-z.]+'

    4、查看输出结果  

[ge@hadoop101 hadoop-2.7.7]$ cat output/*

  

 

 

  • 4.1.2官方WordCount案例

    1、在hadoop-2.7.7文件下面创建一个wcinput文件夹

[ge@hadoop101 hadoop-2.7.7]$ mkdir wcinput

    2、在wcinput文件夹下创建一个wc.input文件

[ge@hadoop101 hadoop-2.7.7]$ cd wcinput/

 [ge@hadoop101 wcinput]$ touch wc.input

    3、编辑wc.input文件

[ge@hadoop101 wcinput]$ vim wc.input 

     添加下面内容

hadoop yarn
hadoop mapreduce
ge
ge

     保存退出:wq

    4、回到Hadoop 目录 /opt/module/hadoop-2.7.7

    5、执行程序

[ge@hadoop101 hadoop-2.7.7]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount wcinput/ wcoutput

    6、查看结果

[ge@hadoop101 hadoop-2.7.7]$ cat wcoutput/*

 

 

 

  • 4.2伪分布式运行模式

  • 4.2.1启动HDFS并运行MapRedcue程序

    1、分析

    (1)配置集群

    (2)启动、测试集群增、删、查

    (3)执行WordCount案例

    2、执行步骤

    (1)配置集群

      (a)配置:hadoop-env.sh

        Linux系统中获得JDK的安装路径

[ge@hadoop101 ~]$ echo $JAVA_HOME 
/opt/module/jdk1.8.0_161

        修改JAVA_HOME路径

export JAVA_HOME=/opt/module/jdk1.8.0_161

      (b)配置:core-site.xml

<!--指定HDFS中NameNode的地址-->
    <property>    
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop101:9000</value>
    </property>
<!--指定Hadoop运行时产生文件的存储目录-->
    <property>    
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.7/data/tmp</value>
    </property>

      (c)配置hdfs-site.xml

<!--指定HDFS副本的数量-->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
     </property>

    (2)启动集群

      (a)格式化NameNode(第一次启动时格式化,以后不要总格式化)

[ge@hadoop101 hadoop-2.7.7]$ bin/hdfs namenode -format

      (b)启动NameNode

[ge@hadoop101 hadoop-2.7.7]$ hadoop-daemon.sh start namenode

      (c)启动DataNode

[ge@hadoop101 hadoop-2.7.7]$ hadoop-daemon.sh start datanode

    (3)查看集群

      (a)查看是否启动成功

[ge@hadoop101 hadoop-2.7.7]$ jps
4738 NameNode
4884 DataNode
4964 Jps

      注意:jps是JDK中的命令,不是Linux命令,不安装JDK,不能使用jps.

      (b)web端查看HDFS文件系统

        http://hadoop101:50070/dfshealth.html#tab-overview

 

 

 

        如果不能查看,看如下帖子处理

        https://www.cnblogs.com/zlslch/p/6604189.html

      (c)查看产生的Log日志s

        说明:当企业遇到Bug时,经常根据日志提示信息分析问题、解决bug

        当前目录:/opt/module/hadoop-2.7.7/logs

[ge@hadoop101 logs]$ ll
总用量 64
-rw-rw-r--. 1 ge ge 24549 3月   8 14:31 hadoop-ge-datanode-hadoop101.log
-rw-rw-r--. 1 ge ge   713 3月   8 14:31 hadoop-ge-datanode-hadoop101.out
-rw-rw-r--. 1 ge ge 28509 3月   8 14:31 hadoop-ge-namenode-hadoop101.log
-rw-rw-r--. 1 ge ge   713 3月   8 14:27 hadoop-ge-namenode-hadoop101.out
-rw-rw-r--. 1 ge ge   761 3月   8 14:26 hadoop-ge-nodename-hadoop101.out
-rw-rw-r--. 1 ge ge     0 3月   8 14:27 SecurityAuth-ge.audit
[ge@hadoop101 logs]$ cat hadoop-ge-datanode-hadoop101.log

      (d)思考:为什么不能一直格式化NameNode,格式化NameNode,要注意什么?

        格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到以往数据。所以,格式化NameNode时,一点要先删除data数据和log日志,然后再格式化NameNode。

 

  • 4.2.2启动YARN并运行MapRedcue程序

   1、分析

    (1)配置集群

    (2)启动、测试集群增、删、查

    (3)执行WordCount案例

    2、执行步骤

    (1)配置集群

      (a)配置:yarn-env.sh

        Linux系统中获得JDK的安装路径

[ge@hadoop101 ~]$ echo $JAVA_HOME 
/opt/module/jdk1.8.0_161

        修改JAVA_HOME路径

export JAVA_HOME=/opt/module/jdk1.8.0_161

      (b)配置yarn-site.xml

<!--Reducer获取数据的方式-->
    <property>    
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
<!--指定YARN的ResourceManager的地址-->
    <property>    
        <name>yarn.nodemanager.hostname</name>
        <value>hadoop101</value>
    </property>

      (c)配置:mapres-env.sh

        配置一下JAVA_HOME,修改JAVA_HOME路径

export JAVA_HOME=/opt/module/jdk1.8.0_161

      (d)配置:(对mapred-site.xml.template重新命名为)mapred-site.xml

[ge@hadoop101 hadoop]$  mv mapred-site.xml.template mapred-site.xml 
[ge@hadoop101 hadoop]$ vim mapred-site.xml

<configuration>
  <!--指定MR运行在YARN上-->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>  
  </property>
</configuration>

    (2)启动集群

      (a)启动前,必须保证NameNode 和 DataNode 已经启动

      (b)启动resourcemanager

[ge@hadoop101 hadoop-2.7.7]$ sbin/yarn-daemon.sh start resourcemanager

      (c)启动NodeManager

[ge@hadoop101 hadoop-2.7.7]$ sbin/yarn-daemon.sh start nodemanager

    (3)集群操作

      (a)YARN的浏览器页面查看,如下图所示      

        http://hadoop101:8088/cluster

 

 

  • 4.3完全分布式运行模式(开发重点)

    分析:

      1)准备三台客户机(关闭防火墙,静态ip,主机名称)

      2)安装JDK

      3)配置环境变量

      4)安装Hadoop

      5)配置环境变量

      6)配置集群

      7)单点启动

      8)配置ssh

      9)群起并测试集群

  • 4.3.1 虚拟机准备

    详见3.1章

  • 4.3.2 编写集群分发脚本xsync

  1、scp(secure copy)安全拷贝

    (1)scp 定义:

      scp 可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)

    (2)基本语法        

      scp   -r    $spdir/$fname      $user@hadoop$host:$spdir/$fname

      命令  递归  要拷贝的文件路径/名称  目的用户@主机:目的路径/名称

    (3)案例实操

      (a)在hadoop1上,将hadoop1中 /opt/module 目录下的软件拷贝到hadoop102上

 

标签:rw,Hadoop,模式,hadoop,ge,集群,hadoop101,2.7,第四章
来源: https://www.cnblogs.com/Ge-Zsj/p/12443876.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有