现场运维支撑(2)

mysql问题

  1. mysql datetime 不支持值0000-00-00 00:00:00

    装载hive数据到mysql数据中报错,无法插入0000...date值,就是由于
    mysql不支持0000为datetime的值.

    不要在table中或在数据中将datetime的默认值设置成0000..的形式

  2. mysql query默认会fetch所有的数据到内存中

    生产环境数据量非常大的时候,会导致OutOfMemoryError.

    解决方法为设置mysql每次获取一个block的数据而不是所有。

    stmt.setFetchSize(num);
    

    参考

hadoop作业查错

  1. 根据作业名或id找到对应的作业

    打开yarn RM对应的web地址,根据作业名搜索对应作业.

    作业在running状态时可以在RM web查看job状态,mr job执行结束日志会被收集到jobhistory server.

  2. 查看作业的具体配置

    在jobhistory界面可查看job的具体配置。点击左侧边栏job下的configuration链接,
    可查看job具体的参数配置,包括hadoop相关配置参数及用户自己配置的一些参数。

    其中source chain一栏指出了参数的来源,是来自于配置文件还是在程序中设置的(programatically)。

  3. 查看counters

    有job级别的counters,也有task级别的counters。 counters被分为多个group,
    有默认的统计group,也可看到用户自定义的group.

    通过查看counters的统计情况,可以确认读入写出的数据量,读入写出的记录数, task的执行时间等,可以帮助我们
    从宏观上判断作业的执行结果是否合理.

  4. 查看日志的时候一定要view full log

    开始展示的部分日志可能不是真实错误,一定要review full log查看错误.

关于日志查看的非常好的文章
https://discuss.pivotal.io/hc/en-us/articles/201925118-How-to-Find-and-Review-Logs-for-Yarn-MapReduce-Jobs

hadoop1 to hadoop2 drawbacks and improve
http://stackoverflow.com/questions/12992743/what-additional-benefit-does-yarn-bring-to-the-existing-map-reduce/35479769#35479769
四个方面分别是:scalable, avalability, resource utilization, multiple job types support

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,866评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,408评论 19 139
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 9,463评论 0 19
  • 1.年轻人少一些浮躁,多一些情怀。 2.一天学一道题,一天学一张技能,一年下来就能学不少知识。 3.对生过充满希望...
    盼盼有话说阅读 1,469评论 0 1
  • 有调查显示,人们总是情不自禁地拿起手机刷新。无论有没有朋友圈的更新,无论有没有想表达的心情。 刷新朋友圈这个不经意...
    张硕2017阅读 1,332评论 0 4