hadoop-MapReduce分布式计算框架
发布日期:2021-07-12 08:49:27 浏览次数:3 分类:技术文章

本文共 1974 字,大约阅读时间需要 6 分钟。

计算框架:

MapReduce:主要用于离线计算

Storm:流式计算框架,更适合做实时计算

stack:内存计算框架,快速计算

 

MapReduce设计理念:

--何为分布式计算

--移动计算,而不是移动数据

 

4个步骤:

1.Splitting

2.Mapping:Map步骤有可能有多个Map task线程并发同时执行

3.Shuffing:合并和排序

4.Reducing

 

Hadoop计算框架Shuffler

  在mapper和reducer中间的一个步骤

  可以把mapper的输出按照某种key值重新切分和组合成n份,把key值符合某种范围的输出送到特定的reducer那里去处理

  可以简化reducer过程

 

 

partition:分区

  如果不进行分区,会有默认的分区  “哈希模运算”

  1.获得 哈希值  -->得到一个整数(int) -->  模reduce的个数得到一个结果

  分区 是为了把map的输出数据进行 负载均衡 或解决数据倾斜问题

  map中不会出现数据倾斜问题,map的输入数据split(片段)事实上来源于dataNode的block块

  默认的partition有可能产生数据倾斜问题

  如果有 数据倾斜 问题,需要更改和优化partition

sort:排序

 

程序可以控制的地方

  partition,sort(比较算法,默认按照字典排序(ASCII大小)),combiner

 

 在spill to desk 时候出现 sort和combiner

Combiner 有可能不存在

 

 

 MapReduce 的 Split 大小

-- max.split(100M)

-- min.split(10M)

-- block(64M)

-- max(min.split,min(max.split,block))

 

MapReduce 的架构

  一主多从架构

  主JobTracker:

    负责调度分配每一个子任务task运行与TaskTracker上,如果发现有失败的task就重新分配其任务到其他节点.每一个hadoop集群中只有一个JobTracker.一般它运行在Master节点上

  从TaskTracker:

    TaskTracker主动与JobTracker通信,接受作业,并负责执行每一个任务,为了减少网络带宽TaskTracker最好运行咋HDFS的DataNode上

 

搭建:

1.指定JobTracker所在的机器

  conf/mapred-site.xml

mapred.job.tracker
192.168.1.201:9001

2.如果TaskTracker配置在DataNode上,默认不需要配置

3.同步配置文件

[root@bogon conf]# scp ./mapred-site.xml root@192.168.1.202:~/hadoop-1.2.1/conf/
[root@bogon conf]# scp ./mapred-site.xml root@192.168.1.203:~/hadoop-1.2.1/conf/

4.启动

[root@bogon bin]# ./start-all.sh

5.使用 jps 查看启动

  192.168.1.201

[root@bogon bin]# jps31470 Jps8773 JobTracker8593 NameNode[root@bogon bin]#

  192.168.1.202

[root@localhost ~]# jps27580 DataNode27657 SecondaryNameNode28849 Jps27750 TaskTracker[root@localhost ~]#

  192.168.1.203

[root@localhost ~]# jps27019 TaskTracker27989 Jps26920 DataNode[root@localhost ~]#

使用 http://192.168.1.201:50030/ 查看

生成 eclipse 插件

hadoop-1.2.1\src\contrib\eclipse-plugin 在eclipse中编译成jar

将编译好的jar放入到eclipse的plugin中

eclipse版本不能太低也不能太高  使用4.4

 

转载于:https://www.cnblogs.com/wq3435/p/5801360.html

转载地址:https://blog.csdn.net/ankan7400/article/details/102088955 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Hadoop 2.x
下一篇:使用HttpSessionListener接口监听Session的创建和失效

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月05日 00时48分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【高通SDM660平台 Android 10.0】(9) --- Qcom Camera Daemon 代码分析 2019-04-26
【Android Linux内存及性能优化】(四) 进程内存的优化 - 动态库- 静态库 2019-04-26
【Android Linux内存及性能优化】(五) 进程内存的优化 - 线程 2019-04-26
【FFMPEG】华为新老两手机平台编码的视频,在同一车机上投屏解码时间慢的问题分析 2019-04-26
【Android Linux内存及性能优化】(六) 系统内存的优化 2019-04-26
【Android Linux内存及性能优化】(八) 系统性能分析工具 2019-04-26
高通USB 调试总结随笔 2019-04-26
高通 wlan 调试总结随笔 2019-04-26
【Android Linux内存及性能优化】(九) 进程启动速度优化篇 2019-04-26
20200615 身心健康,修身安神,先坚持一周 2019-04-26
【Android Linux内存及性能优化】(十) 进程冷启动和热启动的区别 2019-04-26
【高通SDM660平台 Android 10.0】(20) --- Actuator 与 Kernel Actuator代码分析 2019-04-26
【高通SIM卡】 单卡配置 2019-04-26
iperf工具吞吐量测试 2019-04-26
【高通SDM660平台 Android 10.0】(19) --- Camera_focus、Camera_snapshot、volume_up 按键工作原理分析 2019-04-26
【高通SDM660平台 Android 10.0】(18) --- Camera start_session() 过程分析 2019-04-26
【高通SDM660平台 Android 10.0】(21) --- 高通Camera persist使用手册 2019-04-26
【高通SDM660平台 Android 10.0】(22) --- Flashlight 及 Kernel Flashlight 代码分析 2019-04-26
【LeetCode #7 题解】 整数反转 2019-04-26
【经典算法实现 1】选择排序法 O(n^2) 2019-04-26