当前位置: 首页 > news >正文

第四课:Yarn和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来运行示例程序

 执行结果为:

转载于:https://www.cnblogs.com/yuexiaoyun/p/9437761.html

相关文章:

  • 8.6 11.25-11.27
  • python学习之老男孩python全栈第九期_数据库day001 -- 作业
  • php计算 处理丢失精度问题 保留小数
  • 古诗文网站的网络爬虫编写方式,通过网络爬虫抓去内容
  • MySQL基础知识之增删改查
  • Kotlin进阶(二)中缀、内联、高阶函数
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 【MySQL 5.7参考手册】8.14.2 General Thread States
  • 深入浅出的webpack构建工具---devTool中SourceMap模式详解(四)
  • 常见大数据系统所要解决问题的简要汇总
  • oracle 导入导出功能
  • [玄学]JZOJ 5811 简单的填数
  • Git基本命令(转)
  • tplink路由器DMZ设置
  • Hyperledger Composer评测
  • JavaScript-如何实现克隆(clone)函数
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 230. Kth Smallest Element in a BST
  • dva中组件的懒加载
  • Java Agent 学习笔记
  • java取消线程实例
  • js 实现textarea输入字数提示
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • select2 取值 遍历 设置默认值
  • SQLServer之创建显式事务
  • uni-app项目数字滚动
  • vue学习系列(二)vue-cli
  • 创建一个Struts2项目maven 方式
  • 电商搜索引擎的架构设计和性能优化
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 无服务器化是企业 IT 架构的未来吗?
  • 译自由幺半群
  • 如何正确理解,内页权重高于首页?
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #FPGA(基础知识)
  • (1) caustics\
  • (2022 CVPR) Unbiased Teacher v2
  • (3)(3.5) 遥测无线电区域条例
  • (4)事件处理——(7)简单事件(Simple events)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (安卓)跳转应用市场APP详情页的方式
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (四)Android布局类型(线性布局LinearLayout)
  • (一)appium-desktop定位元素原理
  • (一)认识微服务
  • (转)http-server应用
  • ****Linux下Mysql的安装和配置
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .net分布式压力测试工具(Beetle.DT)
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [17]JAVAEE-HTTP协议
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子