你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop 平台问题解决思路集合

[日期:2016-03-23] 来源:whoami的博客  作者: [字体: ]

整理在工作中遇到的Hadoop平台遇到的报错信息,以及解决思路

Hadoop

问题1:基于Yarn统一资源管理平台配置导致

  • 错误信息:
    Application application_1458180019333_0002 failed 2 times due to AM Container
    for appattempt_1458180019333_0002_000002 exited with exitCode: -1000
    For more detailed output, check application tracking page:http://
    server-02:8088/proxy/application_1458180019333_0002/Then, click on links to
    logs of each attempt.Diagnostics: Not able to initialize user directories in
    any of the configured local directories for user hadoop
    Failing this attempt. Failing the application.
  • 原因:Actually this is due to the permission issues on some of the yarn local directories. I started using LinuxContainerExecutor (in non secure mode with nonsecure-mode.local-user as kailash) and made corresponding changes. However due to some (unknown) reason NodeManager failed to clean local directories for users, and there still existed directories with previous user (in my case yarn).
    So to solve this, I first had to find the value of the property yarn.nodemanager.local-dirs (with Cloudera use search option to find this property for YARN service, otherwise look into yarn-site.xml in hadoop conf directory), and then delate the files/directories under usercache for all the node manager nodes. In my case, I used:

rm -rf /yarn/nm/usercache/*

  • 问题分析:在配置impala基于yarn的完全自由管理,最后发现集群硬件严重不一致,llama项目让impala可以通过yarn申请资源,配置成功后,在执行小的复杂查询时没有任何问题,一旦数据量太大,会出现资源分配的问题,导致无法提供足够资源而报错,impalad mem_limit安装官网也做了限制了,并没有得到解决。最后取消配置,集群一切正常,再提交mapreducer,spark等基于yarn的计算引擎之时,发现各上面错误信息,一个
    任务都无法执行成功。排查问题步骤。

     

    • 1、通过日志信息,确定大概方向。
    • 2、在开源社区各大国外论坛寻找解决方案,未果。
    • 3、排查源码,是什么导致输出次错误信息,发现是因为权限问题无法初始化。
    • 4、首先尝试找到相关yarn临时目录,备份目录后删除cache目录。重新提交任务初始化。
    • 5、整合解决问题时间大概在3个小时。就是一个权限问题。
      • 配置基于yarn完全资源管理后权限:

         
         
      • 未配置基于yarn完全资源管理权限:

         

         

    找到:yarn.nodemanager.local-dirs ,删除这个路径下面的
    usercache目录中的所有文件包括目录,即可解决。

问题2:Container xxx is running beyond physical memory limits

  • 日志:
     

     

     

  • 问题分析:
    从日志可以看出,container使用内存超过虚拟内存的限制,导致如上问题。默认2.1;
    NodeManager端设置,类似系统层面的overcommit问题,需要调节yarn.nodemanager.vmem-pmem-ratio相关参数,在yarn-site.xml修改:
     

     

     

问题3:jvm系常见java heap space

  • 日志

     

     

     
  • 问题分析

     

     

     
  • yarn资源管理&&优化参考如下文章
    • yarn-resources-manager-allocation

问题4: llama on yarn使用问题

  • 日志
     

     

     

  • 分析问题
     

     

     

  • 问题小结问题原因:由于集群中,上中下有三种配置服务器,内存在65-128g,128-256g都有,而hdfs,impala,hbase,yarn,sparkstreaming,prestodb都分布在这些节点上面,impalad是必须和datanode在一个节点,这就涉及到资源分配问题。通过简单对集群角色3组,不同组角色在不同硬件资源,mem,cpu,磁盘有不同的三套配置。llama项目使得impala资源分配交给Yarn。在这样资源严重不一致情况下。llama评估资源在某些节点实际资源就不和大环境统一,从而出现问题。解决问题方案:尽快引用hadoop 2.7+版本提高的基于标签调度策略,可以给集群不同
    nodemanager节点打标签,提交任务的时候可以指定什么类型应用提交到那些节点执行,
    从而在同一个集群中实现异构集群的思路。YARN某些资源池下面拥有某些高性能高配置
    服务器,某些低性能低配置在一个资源池,某些不上不下配置的服务器,同时拥有高性能标签,低性能标签。调度的时候,会同时存在不同的技术引擎的任务;比如:内存计算代表:spark,tez,impala,drill,presto,磁盘计算:mr,hive,pig,mahout,流计算:sparkstreaming,storm。不同任务指定到不同的资源池。达到基于YARN的统一资源管理和调度。

问题5:升级Namenode HA出现Hive metadata信息访问hdfs问题

  • 日志:

     

     

     
  • 分析问题:
     

     

     

问题6:HDFS ERROR – Failed to close inode 330916

  • 日志:
     

     

     

  • 分析问题:
     

     

     

原创文章,转载请注明: 转载自whoami的博客





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款