zoukankan      html  css  js  c++  java
  • Hadoop学习笔记五

    一、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进程。

  • 相关阅读:
    php 之 没有mysql支持时的替代方案
    在php中使用sockets:从新闻组中获取文章
    PHP ON 阿里云的环境配置攻略
    java基础2
    java基础1
    连接查询(内连接)
    mysql数据约束
    mysql表中数据的增删改查2
    mysql表中数据的增删改查
    mysql表的增查改删
  • 原文地址:https://www.cnblogs.com/lnlvinso/p/6568925.html
Copyright © 2011-2022 走看看