zoukankan      html  css  js  c++  java
  • Hadoop实战第四章读书笔记

    Hadoop三种运行方式:

    • 单机模式。优点:安装配置简单,运行在本地文件系统,便于调试和查看运行效果;缺点:数据量大时较慢,不能模拟分布式模式;
    • 伪分布式模式。优点:运行在本地HDFS文件系统上,能够模拟完全分布模式,看到一些分布式处理的效果;
    • 完全分布式模式。优点:运行在多台机器的HDFS之上,体现出分布式的优点;缺点:调试麻烦;

    Hadoop网络用户界面:

    • JobTracker:(http://jobtracker-host:50030),方便跟踪Job工作进程,查看工作统计和日志;
    • NameNode: (http://jobtracker-host:50070),查看NameNode的基本情况,HDFS中的内容,NameNode日志;

    性能调优:

    • 合并小文件为大文件或使用CombineFileInputFormat
    • 压缩文件:压缩Map输出文件,减少磁盘IO和网络传输
    • 过滤数据:对数据进行预处理,过滤掉不需要的数据;例如使用Bloom Filter算法:Bloom Filter可以用在内连接,它每次检测返回值是“在集合内(可能错误)”和“不在集合内(绝对不在)”,这样可以保证不会把有用的数据过滤掉,虽然有少许无用数据漏网,确换来了时间和空间上的性能提升 。
    • 修改map和reduce最大任务数设置;

    可以重载下列方法实现复杂MapReduce函数:

    • setup函数(Called once at the start of the task),类似于单元测试的setup
    • cleanup函数(called once at the end of the task),类似于单元测试的teardown
    • run函数(for more complete control over the execution of the Mapper).run函数类似于一个模板方法,它内部描述了setup,map,reduce,cleanup的执行先后顺序及过程参数,重载它就可以完全控制任务的执行过程,可以添加自己的控制内容(是否可以在这里实现链接MapReduce Job,类似于map之前还是一个map之类的?)。

    MapReduce Job中全局共享数据:

    • 通过HDFS文件做全局共享数据媒介。优点:可读可写;缺点:占用系统资源
    • 任务启动之初将数据set到Job配置属性。优点:资源消耗小;缺点:不适合比较大的共享数据; 只读?
    • 使用DistributedCache。优点:适合大量共享数据;缺点:只读;

    链接MapReduce Job:

    • 线性MapReduce Job流:将Job的启动代码设置成只有上一个Job结束才执行,将Job的输入设置成上一个Job的输出路径(如何设置?利用Run函数还是文件标志位等其他方法?)
    • 复杂MapReduce Job流:利用ControlledJob类和JobControl类:正常配置各个Job,封装到ControlledJob,设置依赖关系,注入JobControl,JobControl.run)
    • Job设置预处理和后处理过程:利用ChainMapper和ChainReducer(只支持旧API)
  • 相关阅读:
    Windows下tomcat进程监控批处理程序
    centos下利用mail命令进行邮件发送
    centos查看是否安装了某个软件
    tomcat监控,自动重启shell脚本
    mac终端命令大全介绍
    文件的编码是一个怎样的机制
    python中nltk的下载安装方式
    MySQL——修改root密码的4种方法(以windows为例)
    VNC轻松连接远程Linux桌面
    Linux 查看磁盘分区、文件系统、磁盘的使用情况相关的命令和工具介绍
  • 原文地址:https://www.cnblogs.com/end/p/2779499.html
Copyright © 2011-2022 走看看