• 马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解(转)


    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动

    马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作

    马士兵hadoop第三课:java开发hdfs

    马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解

    马士兵hadoop第五课:java开发Map/Reduce

    前三节课主要讲了hdfs,hdfs就是一个分鱼展的大硬盘

    分:分块

    鱼:冗余

    展:动态扩展

    接下来讲云计算,也可以理解为分布式计算,其设计原则:

    移动计算,而不是移动数据

    前面说过,hadoop由hdfs,yarn,map/reduce组成,

    而yarn(Yet Another Resource Negotiator)是资源调度系统,yarn调配的是内存和cpu,不参入计算。

    map/reduce是计算引擎。

    (1)配置yarn

    yarn由一台resourceManager和n台dataManager组成,resourceManager管理着n台dataManager,

    resourceManager原则上应该和namenode分开,单独在一个节点上,现在是在做实验,为了演示方便,

    才放在一起的,而dataManager可以和datanode放在一起,这样dataManager和数据离的近一点,

    当然也可以不放在一起。

    要启动yarn系统,需要先配置一些参数:

    a)配置yarn-size.xml

    resourceManager和dataManager每一个节点都需要配置yarn-size.xml,配置如下:

    复制代码
    <?xml version="1.0"?>
    <configuration>
     <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
     </property>
    

    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

    <property>
    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    </configuration>

    复制代码

    b) 配置mapred-site.xml

    只需要在master的/usr/local/hadoop/etc/hadoop目录下,

    复制mapred-site.xml.template,即执行命令

    [root@master hadoop]# cp mapred-site.xml.template mapred-site.xml

    编辑mapred-site.xml,vim mapred-site.xml:

    复制代码
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
    </configuration>
    复制代码

    这是配置map/reduce在哪个系统上运行,这里配置的yarn,也可以配置其他的。

    (2)启动yarn

    [root@master hadoop]# start-yarn.sh

    使用jps查看启动情况

    启动成功后,可在浏览器上查看web界面

    (3)运行一个map/reduce示例程序

    要先把hdfs也启动起来:

    [root@master hadoop]# start-dfs.sh

    上传一个文件到hdfs的/input目录上

    #在namenode的根目录上创建input目录
    [root@master hadoop]# hadoop fs -mkdir /input
    #上传一个测试文件到hadoop的/input目录上
    [root@master hadoop]# hadoop fs -put /root/input.txt  /input

    input.txt的内容如下:

    find /usr/local/hadoop -name *example*.jar 查找示例程序文件

    通过hadoop jar xxx.jar wordcount /input /output来运行示例程序

     执行结果为:

    原文地址:http://www.cnblogs.com/yucongblog/p/6650861.html
  • 相关阅读:
    Qt回车键提交文本代码
    Qt滚动条样式
    如何在Windows下使用WebMatrix+IIS开发PHP程序
    MySql 字符串时间转换
    缩略图生成代码
    网络文件下载
    字符串替换Replace仅替换第一个匹配项
    asp.net页面button按钮防止重复提交的方法
    对象判等规则
    python 实现远程上传文件夹
  • 原文地址:https://www.cnblogs.com/jpfss/p/9034792.html
Copyright © 2020-2023  润新知