上一篇中我们了解了MapReduce和Yarn的基本概念,接下来带领大家搭建下Mapreduce-HA的框架。

结构图如下:

  

开始搭建:

一.配置环境

注:可以现在一台计算机上进行配置,然后分发给其它服务器

1.1 编辑mapred-site.xml文件:

进入目录 /opt/hadoop/hadoop-2.6.5/etc/hadoop

cd  /opt/hadoop/hadoop-2.6.5/etc/hadoop

vim mapred-site.xml

添加如下配置:  

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> <!--指定mapreduce通过yarn获取数据,还可以填写参数localhost-->
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>

1.2 编辑yarn-site.xml文件:

vim yarn-site.xml

添加如下配置:

<configuratoin>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!--指定nodemanager可以拉取数据-->
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value><!--启动resourcemanager高可用-->
</property>
<property>
<name>hadoop.zk.address</name><!--配置zookeeper地址-->
<value>tuge1:2181,tuge2:2181,tuge3:2181,tuge4:2181</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value><!--配置resourcemanager虚拟地址到物理地址的映射-->
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>tuge1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>tuge2</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>tuge1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>tuge2:8088</value>
</property>
</configuration>

二.启动程序

在tuge1服务器启动:

cd  /opt/hadoop/hadoop-2.6.5/sbin

start-yarn.sh

启动后,使用jps即可查看resourcemanager和nodemanager是否启动成功。

三.浏览效果

四.实现一个计算Demo

4.1 在hdfs里面创建一个10000行的test.txt文件

使用命令:

//首先创建一个root文件夹

hadoop fs -mkdir /user/root/

//在linux随便找一个目录创建一个文件,并加入1万行What are you doing 123?

touch test.txt

vim test.txt

然后输入数字10000,再点击i进行输入What are you doing 123? ,然后按Esc 这时10000行What are you doing 123?就录入了,然后保存。

//将本地文件复制到hdfs上面

hadoop dfs -scpFromLocal test.txt /user/root/

4.2 进入/opt/hadoop/hadoop-2.6.5/share/hadoop/mapreduce

cd /opt/hadoop/hadoop-2.6.5/share/hadoop/mapreduce

4.3 使用mapreduce统计刚刚上传文件里面的单词数量

hadoop jar hadoop-mapreduce-examples-2.6.5.jar  /user/root/test.txt  /user/root/result   --意思是使用hadoop 运行jar环境,并执行程序,统计的文件路径,输出结果路径(这个路径必须是空的或者不存在的)

4.4 控制台执行效果图和web ui浏览效果图

4.5 最后我们可以在上面的输出目录查看统计结果

hadoop fs -cat /user/root/result/part-r-00000

从上图可以看到,每个单词统计均为10000,那么就证明我们搭建成功啦~

系列传送门

入门大数据---通过Yarn搭建MapReduce和应用实例的更多相关文章

  1. 入门大数据---Hive的搭建

    本博客主要介绍Hive和MySql的搭建:  学习视频一天就讲完了,我看完了自己搭建MySql遇到了一堆坑,然后花了快两天才解决完,终于把MySql搭建好了.然后又去搭建Hive,又遇到了很多坑,就这 ...

  2. 入门大数据---Kafka的搭建与应用

    前言 上一章介绍了Kafka是什么,这章就讲讲怎么搭建以及如何使用. 快速开始 Step 1:Download the code Download the 2.4.1 release and un-t ...

  3. 入门大数据---基于Zookeeper搭建Kafka高可用集群

    一.Zookeeper集群搭建 为保证集群高可用,Zookeeper 集群的节点数最好是奇数,最少有三个节点,所以这里搭建一个三个节点的集群. 1.1 下载 & 解压 下载对应版本 Zooke ...

  4. 入门大数据---基于Zookeeper搭建Spark高可用集群

    一.集群规划 这里搭建一个 3 节点的 Spark 集群,其中三台主机上均部署 Worker 服务.同时为了保证高可用,除了在 hadoop001 上部署主 Master 服务外,还在 hadoop0 ...

  5. 入门大数据---Flume的搭建

    一.下载并解压到指定目录 崇尚授人以渔的思想,我说给大家怎么下载就行了,就不直接放连接了,大家可以直接输入官网地址 http://flume.apache.org ,一般在官网的上方或者左边都会有Do ...

  6. Ambari——大数据平台的搭建利器之进阶篇

    前言 本文适合已经初步了解 Ambari 的读者.对 Ambari 的基础知识,以及 Ambari 的安装步骤还不清楚的读者,可以先阅读基础篇文章<Ambari——大数据平台的搭建利器>. ...

  7. 我眼中的大数据(三)——MapReduce

    ​ 这次来聊聊Hadoop中使用广泛的分布式计算方案--MapReduce.MapReduce是一种编程模型,还是一个分布式计算框架. MapReduce作为一种编程模型功能强大,使用简单.运算内容不 ...

  8. 大数据应用日志采集之Scribe演示实例完全解析

    大数据应用日志采集之Scribe演示实例完全解析 引子: Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它能够从各种日志源上收集日志,存储到一个中央存储系 ...

  9. 入门大数据---Flink学习总括

    第一节 初识 Flink 在数据激增的时代,催生出了一批计算框架.最早期比较流行的有MapReduce,然后有Spark,直到现在越来越多的公司采用Flink处理.Flink相对前两个框架真正做到了高 ...

随机推荐

  1. Java实现 蓝桥杯VIP 算法训练 接水问题

    题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 输入输出格式 输入格式: 输入文件共两行,第一行为n:第二行分别 ...

  2. Java实现 蓝桥杯 历届真题 稍大的串

    串可以按照字典序进行比较.例如: abcd 小于 abdc 如果给定一个串,打乱组成它的字母,重新排列,可以得到许多不同的串,在这些不同的串中,有一个串刚好给定的串稍微大一些.科学地说:它是大于已知串 ...

  3. 掌握SpringBoot-2.3的容器探针:实战篇

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:原创文章分类汇总,及配套源码,涉及Java.Docker.K8S.DevOPS等 经过多篇知识 ...

  4. @Component、@Service、@Controller、@Rrepository说明

    自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取: https://www.cnblogs.com/bclshuai/p/11380657.html 1       Spring容 ...

  5. 记一次@ResponseBody注解返回中文乱码的问题

    Bug场景 前端AJax $.ajax({ url: '$!{request.getContextPath()}/XX/save.do', type: 'post', dataType: 'json' ...

  6. office2016专业增强版激活密匙 (shell激活版)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_42642945/article/d ...

  7. nodejs如何从异步回调函数返回想要的值

    const fs = require('fs') let read=()=>{ fs.readFile("./contents/test.json",(err,data)=& ...

  8. Quartz.Net系列(二):介绍、简单使用、对比Windows计划任务

    1.介绍 Quartz是功能强大的开源作业调度库,几乎可以集成到任何Java应用程序中-从最小的独立应用程序到最大的电子商务系统.Quartz可用于创建简单或复杂的计划,以执行数以万计,数以万计的工作 ...

  9. c常用函数-strchr和strrchr

    strchr和strrchr strrchr函数用于查找指定字符在一个字符串中最后一次出现的位置,然后返回指向该位置的指针 strchr函数用于查找指定字符在一个字符串中第一次出现的位置,然后返回指向 ...

  10. Linux - Python的虚拟环境配置的坑 virtualenv: error: unrecognized arguments: --no-site-packages

    如果你在CentOS8下面配置虚拟环境时,遇到如下错误: [root@localhost ~]# mkvirtualenv my_django usage: virtualenv [--version ...