hadoop
文章平均质量分 65
Running_Tiger
这个作者很懒,什么都没留下…
展开
-
MapReduce之多job串联
MapReduce之多job串联一个稍复杂点的处理逻辑往往需要多个 mapreduce 程序串联处理,多 job 的串联可以借助 mapreduce 框架的 JobControl 实现示例代码: ControlledJob controlledJob1 = new ControlledJob(job1.getConfiguration()); controlledJo...原创 2018-02-09 08:41:48 · 443 阅读 · 0 评论 -
MapReduce 工作机制详解(一)MapTask工作机制
MapTask工作机制整个 Map 阶段流程大体如上图所示。简单概述:input File 通过 split 被 逻辑切分为多个 split 文件,通过 Record 按行读取内容给 map(用户自己实现的)进行处理,数据被 map 处理结束之后交给 OutputCollector 收集器,对其结果 key 进行分区(默认使用 hash 分区),然后写入 buffer,每个 map task 都有原创 2018-02-08 13:44:46 · 2377 阅读 · 0 评论 -
MapReduce 并行度机制(一)MapTask 并行度机制
MapTask 并行度机制MapTask 的并行度指的是 map 阶段有多少个并行的 task 共同处理任务。map阶段的任务处理并行度,势必影响到整个 job 的处理速度。那么,MapTask 并行实例是否越多越好呢?其并行度又是如何决定呢?一个 MapReducejob 的 p map 阶段并行度由客户端在提交 b job 时决定,即客户端提交 job 之前会对待处理数据进行 逻辑切片。切片完成原创 2018-02-08 14:35:17 · 1187 阅读 · 0 评论 -
MapReduce 并行度机制(二)Reducetask 并行度机制
Reducetask 并行度机制reducetask 并行度同样影响整个 job 的执行并发度和执行效率,与maptask的并发数由切片数决定不同,Reducetask 数量的决定是可以直接手动设置:job.setNumReduceTasks(4); 如果数据分布不均匀,就有可能在 reduce 阶段产生数据倾斜。 注意: reducetask 数量并不是任意设置,还要考虑业务逻辑需求,有些情况原创 2018-02-08 14:39:35 · 738 阅读 · 0 评论 -
MapReduce 并行度机制(三)Task 并行度经验之谈
Task 并行度经验之谈最好每个 task 的执行时间至少一分钟。如果 job 的每个 map 或者 reduce task 的运行时间都只有 30-40 秒钟,那么就减少该 job 的 map 或者 reduce 数,每一个task(map|reduce)的 setup 和加入到调度器中进行调度,这个中间的过程可能都要花费几秒钟,所以如果每个task 都非常快就跑完了,就会在 task 的开始和结原创 2018-02-08 14:43:17 · 717 阅读 · 0 评论 -
MapReduce 优化(一)资源相关参数
资源相关参数以下参数是在自己的 MapReduce 应用程序中配置就可以生效mapreduce.map.memory.mb: 一个 Map Task 可使用的内存上限(单位:MB),默认为 1024。如果 Map Task 实际使用的资源量超过该值,则会被强制杀死。mapreduce.reduce.memory.mb: 一个 Reduce Task 可使用的资源上限(单位:MB),默认为 102原创 2018-02-08 15:34:31 · 990 阅读 · 0 评论 -
MapReduce 优化(二)容错相关参数
容错相关参数mapreduce.map.maxattempts: 每个 Map Task 最大重试次数,一旦重试参数超过该值,则认为 Map Task 运行失败,默认值:4。mapreduce.reduce.maxattempts: 每个Reduce Task最大重试次数,一旦重试参数超过该值,则认为 Map Task 运行失败,默认值:4。mapreduce.map.failures.max原创 2018-02-08 16:22:05 · 1519 阅读 · 0 评论 -
MapReduce 优化(三)效率跟稳定性参数
效率跟稳定性参数mapreduce.map.speculative: 是否为 Map Task 打开推测执行机制,默认为 true, 如果为 true,则可以并行执行一些 Map 任务的多个实例。mapreduce.reduce.speculative: 是否为 Reduce Task 打开推测执行机制,默认为 truemapreduce.input.fileinputformat.split原创 2018-02-08 16:24:54 · 495 阅读 · 0 评论 -
MapReduce之计数器应用
MapReduce之计数器应用计数器是用来记录 job 的执行进度和状态的。MapReduce 计数器(Counter) 为我们提供一个窗口,用于观察 MapReduce Job 运行期的各种细节数据。对MapReduce 性能调优很有帮助,MapReduce 性能优化的评估大部分都是基于这些Counter 的数值表现出来的。MapReduce 自带了许多默认 Counter。在执行 m...原创 2018-02-08 18:43:19 · 483 阅读 · 0 评论 -
Hadoop机架感知配置
Hadoop机架感知配置1、存储策略Hadoop在设计时考虑到数据的安全与高效,数据文件默认在HDFS上存放三份,存储策略为本地一份,同机架内其它某一节点上一份,不同机架的某一节点上一份。这样如果本地数据损坏,节点可以从同一机架内的相邻节点拿到数据,速度肯定比从跨机架节点上拿数据要快;同时,如果整个机架的网络出现异常,也能保证在其它机架的节点上找到数据。为了降低整体的带宽消耗和读取延时,HDFS会尽原创 2018-03-14 10:20:27 · 510 阅读 · 0 评论 -
MapReduce 工作机制详解(二)ReduceTask工作机制
ReduceTask 工作机制Reduce 大致分为 copy、sort、reduce 三个阶段,重点在前两个阶段。copy阶段包含一个 eventFetcher 来获取已完成的 map 列表,由 Fetcher 线程去 copy数据,在此过程中会启动两个 merge 线程,分别为 inMemoryMerger 和onDiskMerger,分别将内存中的数据 merge到磁盘和将磁盘中的数...原创 2018-02-08 12:59:27 · 916 阅读 · 0 评论 -
MapReduce 工作机制详解(三)Shuffle 机制
Shuffle 机制map 阶段处理的数据如何传递给 e reduce 阶段,是 MapReduce 框架中最关键的一个流程,这个流程就叫 shuffle。shuffle: 洗牌、发牌——(核心机制:数据分区,排序,合并)。shuffle 是 Mapreduce 的核心,它分布在 Mapreduce 的 map 阶段和 reduce阶段。一般把从 p Map 产生输出开始到 e Reduce 取得数原创 2018-02-08 13:32:32 · 457 阅读 · 0 评论 -
Hadoop Archives
Hadoop ArchivesHDFS 并不擅长存储小文件,因为每个文件最少一个 block,每个 block 的元数据都会在 NameNode 占用内存,如果存在大量的小文件,它们会吃掉NameNode 节点的大量内存。 Hadoop Archives 可以有效的处理以上问题,它可以把多个文件归档成为一个文件,归档成一个文件后还可以透明的访问每一个文件。1. 创建 Archives (档案)Us原创 2018-02-09 15:02:24 · 208 阅读 · 0 评论 -
MapReduce 案例之倒排索引
MapReduce 案例之倒排索引1. 倒排索引倒排索引是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。 它主要是用来存储某个单词(或词组) 在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引( Inverted Index)。2. 实例描述通常情况下,倒排索引由一个单词(或词组)以原创 2018-02-09 09:06:08 · 1773 阅读 · 0 评论 -
MapReduce 案例之数据去重
MapReduce 案例之数据去重1. 数据去重数据去重主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。2. 实例描述对数据文件中的数据进行去重。数据文件中的每行都是一个数据。比如原始输入数据为:File1: 2017-3-1 a 2017-3-2 b 2017-3-3 c 2017-3-4原创 2018-02-09 10:07:14 · 1013 阅读 · 0 评论 -
MapReduce 案例之Top N
MapReduce 案例之Top N1. Top NTop-N 分析法是指从研究对象中得到所需的 N 个数据,并对这 N 个数据进行重点分析的方法。2. 实例描述对数据文件中的数据取最大 top-n。数据文件中的每个都是一个数据。原始输入数据为: 10 3 8 7 6 5 1 2 9 4 11 12 17 14 15 20 19 18 13 16输出结果为(最大的前 5 个): 20 19原创 2018-02-09 11:00:33 · 2011 阅读 · 0 评论 -
Yarn(一)Yarn通俗介绍
Yarn(一)Yarn通俗介绍Yarn通俗介绍Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。可以把 yarn 理解为相当于一个分布式的操作系统平台原创 2018-02-09 12:48:30 · 1793 阅读 · 0 评论 -
Yarn(二)Yarn基本架构
Yarn(二)Yarn基本架构Yarn基本架构YARN 是一个资源管理、任务调度的框架,主要包含三大模块:ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)。ResourceManager 负责所有资源的监控、分配和管理ApplicationMaster 负责每一个具体应用程序的调度和协调NodeManager 负责每一个节点的维原创 2018-02-09 12:54:13 · 392 阅读 · 0 评论 -
Yarn(三)Yarn三大组件介绍
Yarn(三)Yarn三大组件介绍Yarn三大组件介绍1. ResourceManagerResourceManager 负责整个集群的资源管理和分配,是一个全局的资源管理系统。NodeManager 以心跳的方式向 ResourceManager 汇报资源使用情况(目前主要是 CPU 和内存的使用情况)。RM 只接受 NM 的资源回报信息,对于具体的资源处理则交给 NM 自己处理。YARN原创 2018-02-09 13:07:02 · 5294 阅读 · 0 评论 -
Yarn(四)Yarn运行流程
Yarn(四)Yarn运行流程Yarn运行流程client 向 RM 提交应用程序,其中包括启动该应用的ApplicationMaster 的必须信息,例如 ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等。ResourceManager 启动一个 container 用于运行ApplicationMaster。启动中的 Applicati原创 2018-02-09 13:10:07 · 637 阅读 · 0 评论 -
Yarn(五) Yarn 调度器 Scheduler
Yarn(五) Yarn 调度器 SchedulerYarn 调度器 Scheduler理想情况下,我们应用对 Yarn 资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在 n Yarn 中,负责给应用分配资源的就是 Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。原创 2018-02-09 13:29:26 · 305 阅读 · 0 评论 -
HDFS 安全模式
HDFS 安全模式1. HDFS 安全模式概述安全模式是 HDFS 所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求,是一种保护机制,用于保证集群中的数据块的安全性。在NameNode主节点启动时,HDFS首先进入安全模式,集群会开始检查数据块的完整性。DataNode 在启动的时候会向 namenode 汇报可用的 block 信息,当整个系统...原创 2018-02-09 13:44:52 · 718 阅读 · 0 评论 -
hadoop2.X、3.X编译
hadoop2.X、3.X编译一、编译环境软件安装二、下载待编译源码三、编译四、编译完成五、总结一、编译环境每个hadoop版本需要的软件版本不全同可自行根据BUILDING.txt自行调整,已经验证下面列表能编译hadoop2.X,3.XCentOS 6.7 x64java 1.8apache-ant-1.10.3apache-maven-3.5.3cmake-3.4.1fin...原创 2018-11-22 20:03:10 · 525 阅读 · 0 评论