一、uber(u:ber)模式

  MapReduce以Uber模式运行时,所有的map,reduce任务都在一个jvm中运行,对于小的mapreduce任务,uber模式的运行将更为高效。

uber模式配置,在mapred-site.xml中进行配置,如下

mapreduce.job.ubertask.enable配置为true,默认为false。

mapreduce.job.ubertask.maxmaps默认为9。mapreduce.job.ubertask.maxreduces默认为1。

mapreduce.job.ubertask.maxbytes默认为一个块的大小即128M。

二、集群的时钟同步

  集群中各节点的时间不一致时,运行mapreduce时可能会报错,token is expired,current time is xxxx found yyyyy。

配置集群的时钟同步的过程如下:

  1.检查是否安装了ntp,rpm -qa|grep ntp,如果没安装则先安装。

2.开启ntpd服务,chkonfig ntpd on。重启服务service ntpd restart。

3.在时间服务器节点上编辑/etc/ntp.conf。

增加restrict 10.0.0.12 mask 255.0.0.0 nomodify notrap

注释掉server0.xxx,server1.xxx 和server2.xxx

去掉注释server 127.127.1.0和fudge 127.127.1.0 stratum 10

4.配置BIOS与系统时间同步,编辑/etc/sysconfig/ntpd

在OPTIONS的前一行添加SYNC_HWCLOCK=yes

5.配置集群中的其他机器

每10分钟与服务器同步一次,必须用root用户创建,用sudo命令时会出错。

#crontab -e

增加0-59/10 * * * * /usr/sbin/ntpdate xxxx(服务器的hostname)

6.检查是否成功ntpdate xxxx(服务器的hostname),查看2个服务器上时间的间隔值。

三、Web Application Proxy

  用于防止Yarn遭受Web攻击,本身是ResourceManager的一部分,可通过配置独立进程。ResourceManager Web的访问基于守信用户,当Application Master运行于一个非受信用户,其提供给ResourceManager的可能是非受信连接,Web Application Proxy可以阻止这种连接提供给RM。

配置yarn-site.xml中添加yarn.web-proxy.address,值例如hostname:8089。

启动在上面hostname所对应的主机上执行sbin/yarn-deamon.sh start proxyserver后查看是否有webappproxyserver进程。

sbin/start-yarn.sh最下面的start proxyserver是注释掉的,需要放开注释。

四、mr应用程序日志配置在yarn上

默认的container的日志是在本地文件系统上,通过historyserver查看日志时会报错。可以进行日志的聚集功能配置,上传日志到hdfs的tmp目录。

在yarn-site.xml中进行配置:

yarn.log-aggregation-enable设置为true

yarn.log-aggregation.retain-seconds设置为604800,即7天。

五、MiniCluster

用户仅使用1个命令就可以启动1个单节点的Hadoop集群,不需要设置任何环境变量或者配置文件。

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0.jar minicluster

六、hadoop2.6.0作业恢复问题

mapred-site.xml中配置mapreduce.jobtracker.restart.recover配置为true。

第一次kill -9 appmaster,Hadoop会重启这个appmaster,但是在你第二次kill时候,就会发出异常。

在kill的时候假设你map task执行到99%重启appMaster也是0%开始,但是map Task执行完毕之后,在reduce Task kill,那么重启的时候就只执行reduce 的task。

七、启用日志聚合需要注意的

启用日志聚合后,一定要等hdfs启动完全后再启动yarn,否则会报错。日志聚合会将container的日志上传至hdfs。

八、日志查看

框架的日志默认在安装目录的logs目录,应用程序日志查看container的日志。

九、集群卸载节点

hdfs卸载datanode节点:

在namenode节点的hdfs-site.xml中增加配置:dfs.host.exclude值为一个文件的路径,在这个文件中增加需要卸载的datanode节点的全路径主机名。

刷新datanode状态,在namenode节点上只执行bin/hdfs dfsadmin -refreshNodes

关掉卸载节点的datanode进程。

yarn卸载nodemanager节点:

在resourcemanager节点的yarn-site.xml中增加配置:yarn.resourcemanager.nodes.exclude-path值为一个文件的路径,在这个文件中增加需要卸载的datanode节点的全路径主机名。

刷新yarn状态,在resourcemanager节点上只执行bin/yarn rmadmin -refreshNodes

关掉卸载节点的nodemanager进程。

Hadoop学习笔记五的更多相关文章

  1. hadoop学习笔记-目录

    以下是hadoop学习笔记的顺序: hadoop学习笔记(一):概念和组成 hadoop学习笔记(二):centos7三节点安装hadoop2.7.0 hadoop学习笔记(三):hdfs体系结构和读 ...

  2. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  3. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  4. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  5. Hadoop学习笔记(6) ——重新认识Hadoop

    Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...

  6. Hadoop学习笔记(2)

    Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...

  7. Hadoop学习笔记(5) ——编写HelloWorld(2)

    Hadoop学习笔记(5) ——编写HelloWorld(2) 前面我们写了一个Hadoop程序,并让它跑起来了.但想想不对啊,Hadoop不是有两块功能么,DFS和MapReduce.没错,上一节我 ...

  8. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  9. Hadoop学习笔记(2) ——解读Hello World

    Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...

随机推荐

  1. ECharts 环形饼图 动态获取json数据

    ECharts  环形饼图 动态获取json数据 效果图如下: 一.html部分 <div id="secondPieChart" style="width:100 ...

  2. c#委托事件入门--第二讲:事件入门

    上文 c#委托事件入门--第一讲:委托入门 中和大家介绍了委托,学习委托必不可少的就要说下事件.以下思明仍然从事件是什么.为什么用事件.怎么实现事件和总结介绍一下事件 1.事件是什么:. 1.1 NE ...

  3. Spark算子--first、count、reduce、collect、lookup

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/4b8582c8dde1529abb11e4ccc8296171.html first.count.reduce ...

  4. 从零开始学习前端开发 — 9、标签嵌套规则及CSS常用样式覆盖

    1. 块级元素可以包含内联元素或某些块级元素,但内联元素却不能包含块级元素,它只能包含其它的内联元素: <div><h1></h1><p></p& ...

  5. 虚拟主机、VPS以及云主机的区别和对比

    对于很多需要建网站的朋友来说,虚拟主机是必须要了解的基础知识.虚拟主机相对于VPS与云主机来说出现的较早,也是被大多数站长所了解的主机.很多人容易将这三者混淆,弄不清楚三者的联系与区别.那么虚拟主机. ...

  6. 虚拟主机,VPS,云主机之间的区别?

    虚拟主机即共享主机,是利用虚拟技术把一台完整的服务器分成若干个主机,拥有多个网站,共享这台服务器的硬件和带宽的资源.可以托管简单的静态和动态的网站,满足客户最基本的网络托管需求. VPS是将一台物理服 ...

  7. LAMP与LNMP架构的区别及其具体的选择说明

    LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP 以上两只架构是目前网站的主流架构 LAMP和LNMP最主要的区别在于: 一个使用的是A ...

  8. 谁能教我iCloud怎么用?

    iCloud是苹果公司所提供的云端服务,使用者可以免费储存5GB的资料.你已经开始使用IOS5,并且你很兴奋的着手于将它同步至云服务层.以下就是怎样让你的设备更新至云服务层的非常简单的步骤.在你的iO ...

  9. WEB前端大神之路之基础篇

    CSS篇: 1.CSS权重: 不重复造轮子啦,直接传送门(CSS选择器的权重与优先规则) JavaScript篇: 1.this关键字: 它是一种引用(referent).指向的是当前上下文(cont ...

  10. Android 双卡获取当前使用流量在线卡的信息

    最近接触了一个项目,需要获取在线流量卡的信息,下面的方式,可以获取大部分手机的正确手机卡信息. 一  获取获取IMEI public static String getDeviced(int solt ...