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

    参考资料:《Hadoop 权威指南》

    1 map处理完后,hadoop框架会将结果安装键进行排序,然后将排好的结果传给reduce

    需要低延迟的应用不适合HDFS,对于低延迟应用HBase更适合

    3 HDFS中的文件只有一个写入者,而且写操作总是在文件的末尾,不支持多个写入者或在文件任意位置修改

    4 HDSF集群有两种节点:一个名称节点(管理者)和多个数据节点(工作者)
    名称节点维护着这个文件系统的树及树内所有的文件和索引目录;一点名称节点坏掉,所有的文件将会丢失,因为无法知道如何通过数据节点上的块来重建文件
    数据节点存储和提供定位块的服务,并定时向名称节点发送存储的块的列表

    5 HDFS默认将数据块复制3份,可以通过dfs.replication来控制复制的份数,在一台机器上运行HDFS(即伪分布模式)时,要将此参数设为1,否则会持续警告块的副本不够

    6 HDFS的文件由副本数这个概念,但目录没有,因为目录是作为元数据存储在名称节点的,而不是数据节点

    7 通过hadoop fs命令可以对HDFS这个文件系统进行读取文件、创建目录、移动文件、删除数据、列出索引目录等操作

    8 sequenceFile类作为小型文件的容器也不错,HDFS和mapreduce是大型文件的利器,所以将文件打包到一个sequenceFile类中,使得我们能够更高效地对小型文件进行存储和处理(第7章有一个程序将文件打包到一个sequenceFile

    9 MapReduce 模型将作业分隔成任务,然后并行运行任务,是作业整体执行时间少于顺序执行的时间

    10 reduce函数的输入类型必须与map函数的输出类型一致

    11 输入数据的类型是通过输入格式进行设定的

    12 reducer槽的数目是集群中节点数与mapred.tasktracker.reduce.tasks.maxinum的乘机。

    13 一个通常做法是将reducer个数设置成稍小于reducer任务槽数

    14 若有8个处理器,并想在每个处理器上运行两个程序,则设置mapred.tasktracker.map.tasks.maximun和mapred.tasktracker.reduce.tasks.maximun为7(不是8,因为数据节点和tasktracker各自占一个槽)

    15 应尽量避免小文件

    16 Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。

    17 可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode”和SecondaryNameNode

    18 成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件

    19 单机模式,grep 例子读取的是本地数据,伪分布式读取的则是 HDFS 上的数据

    20 搭建为分布式Hadoop:参考资料 http://www.powerxing.com/install-hadoop-in-centos/

  • 相关阅读:
    做问答系统是对题目修改的bug
    控件treetable使用
    百度地图API --地理位置定位
    按每十分钟查询数据
    《deetom》项目开发历程<六> 免登陆
    poj 3348
    poj 1556
    poj 1269
    poj 3304
    R 540
  • 原文地址:https://www.cnblogs.com/testzcy/p/9158992.html
Copyright © 2011-2022 走看看