Hadoop中HDFS和MapReduce的概念和机制

0     搭建平台时的思考

1 在启动CentOS时候,DHCP识别不到网络ip,可以将虚拟机可移动设备将网卡选择先不连接,进入OS后,再打开。

 http://blog.csdn.net/old_imp/article/details/8744772

2 设置静态IP或者动态IP文件(/etc/resolv.conf/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network)后,重启动网卡。就能避免下次启动的IP找不到问题;同时图标和配置IP对话框变得正常(可是非如此,还得关闭进入后开启)。

 http://www.2cto.com/os/201305/214447.html

2.1 Linux网卡问题:1、在系统启动时设置好的静态IP再次启动依然在bring up时停住;2、在系统界面或者系统文件设置好静态IP并重启网卡,静态IP依然没有改变。解决问题方法是:再启动系统时候,关闭虚拟机网络连接,进入系统后再设置IP,无连接重启进入后打开网络连接。

2.2 设置IP的三个地方:1、开机时;2、系统界面;3、配置文件。

3 hostnameIP绑定了,其他的主机名不一定.

4 ssh加密文件在~/.ssh

5 HDFS中的/usr目录下的目录名集群内的主机名(不是客户端)

6 两种名字:Linux用户,主机名

7 HDFS的根目录是不是只有NameNode可以操作?

***RPC

***GOOGLE三大论文》

 

1 HDFS

1.1 设计前提和目标

A   体系结构

    NameNode

       1.2.1 管理元数据;

       1.2.2 映射文件(包括副本)和Block(一个文件不超过64M,物理是本身,逻辑上占一个)(文件数据块尽可能分布在不同DataNode,便于就地运算,保证损失最小);

       1.2.3 客户端(可以是集群内的也可以是集群外的)都要通过NameNodeDataNode交互访问文件系统(真正的I/O是和DataNode交互的);

       1.2.4 执行文件系统的命名空间操作,比如打开、关闭、重命名文件和目录。

       重要结构:EditLogFsImageCheckpoint

    Secondary NameNode

      1.2.1 合并EditLogFsImage然后给NameNode,是的NameNode有极好的交互性,EditLog大小可配置。

    DataNode

       1.2.1 负责处理客户的读写请求(任何时候只有一个写用户)

       1.2.2 Blockreport:启动时候(启动后的文件读写有NameNode),遍历本地文件系统,报告NameNode一份HDFS数据块和本地文件对应关系列表

B    可靠性保障

     冗余备份、副本存放策略(Rack-aware,指的是数据块),心跳检测(验证映射,检测宕机),安全模式(启东时候,数据块小于备份时进入安全模式,复制,不允许写操作),数据完整性检测,空间回收,元数据磁盘失效保护(冷备份多个FsImage)。

 

2 MapReduce

2.1 编程模型

       MapReduce:待处理的数据集可以分解成许多小的数据集,并且每一个小的数据集都可以完全的并行进行处理。

2.2 MapReduce的集群行为‘

       2.2.1 任务调度和执行

              JobTracker:负责调度和管理(将MappersReducer分配到空闲的TaskTrackerTaskTracker必须在DataNode上),负责监控任务运行情况。

       2.2.2 本地计算

              尽可能保证存储了数据节点执行计算任务,减少网络宽带(移动计算比移动数据更经济),本地没有就找本机架上,再没有就到其他机架。

       2.2.3 Shuffle

              保证某一范围的key由一个Reducer处理,简化Reduce过程。

       2.2.4 合并MapperCombine

              减少带宽

       2.2.5 读取中间结果

              Mapper的输出结果被直接写到本地磁盘,JobTracker同时Reducer到那个DataNode上取走中间结果,中间结果不必存到HDFS

       2.2.6 任务管道

              RReducer产生的结果作为另一个任务的Mapper输入。

       2.2.7 JobTrackerTaskTracker失败处理。

       2.2.8 Hadoop JobScheduler

              FIFOFair Scheduler

3   Wordcount(《实战Hadoop》)

4   自定义IO类型

5   最小的MapReduce驱动(默认驱动)

6   自定义的ConbinersPartitioners(可以由Reducer设置。两个一样)

7  DistributeCache

8   通配符和文件过滤FileFiter

9  java的单元测试MRUnit

10 MapReduce的输入(split)自定义split

11   Hadoop小文件处理

       1、支持压缩

       2HDFS自带:合并小文件,建立索引

       3、小文件优化(开启Jvmmapred.reduceparallel.copies

       其他作业优化方法(MappercombinerReducer,中间值压缩等)

12  MapReduce Streaming

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值