Hadoop
文章平均质量分 79
xinxing_Star
这个作者很懒,什么都没留下…
展开
-
Hadoop 知识点安排
Hadoop 测试Hadoop 测试MRUnit单元测试Mapper和Reducer类在内存上独立运行, PipelineMapReduceDriver单线程运行.LocalJobRunner单线程运行, 且仅有一个 Reducer能够启动conf.set("mapred.job.tracker", "local"); conf.set("fs.default.name", "file:////"); FileSystem fs = FileSystem.getLocal(conf);Min原创 2021-09-07 11:12:48 · 75 阅读 · 0 评论 -
Hadoop IO
Hadoop IOHadoop - IO输入文件从HDFS进行读取. 输出文件会存入本地磁盘. Reducer和Mapper间的网络I/O,从Mapper节点得到Reducer的检索文件. 使用Reducer实例从本地磁盘回读数据. Reducer输出- 回传到HDFS.串行化传输、存储都需要Writable接口Avro框架:IDL,版本支持,跨语言,JSON-linke压缩能够减少磁盘的占用空间和网络传输的量Compressed Size, Speed, Spli原创 2021-09-07 11:12:57 · 170 阅读 · 0 评论 -
Hadoop 编程
Hadoop 编程MapReduce - 编程处理select:直接分析输入数据,取出需要的字段数据即可 where: 也是对输入数据处理的过程中进行处理,判断是否需要该数据 aggregation:min, max, sum group by: 通过Reducer实现 sort join: map join, reduce joinThird-Party Librariesexport LIBJARS=$MYLIB/commons-lang-2.3.jar, hadoop ja原创 2020-06-30 10:11:12 · 508 阅读 · 0 评论 -
Java 数据结构
Java 数据结构Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties)以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection),我们后面再讨论。枚举(Enumeration)枚举(Enumeration)接口虽然它本身不属于数据结构原创 2020-06-30 09:35:44 · 93 阅读 · 0 评论 -
Hadoop Shuffle
Hadoop ShuffleMapReduce - Shuffle对Map的结果进行排序并传输到Reduce进行处理 Map的结果并不是直接存放到硬盘,而是利用缓存做一些预排序处理 Map会调用Combiner,压缩,按key进行分区、排序等,尽量减少结果的大小 每个Map完成后都会通知Task,然后Reduce就可以进行处理Map端当Map程序开始产生结果的时候,并不是直接写到文件的,而是利用缓存做一些排序方面的预处理操作每个Map任务都有一个循环内存缓冲区(默认100MB),当缓原创 2020-06-30 09:34:11 · 104 阅读 · 0 评论 -
Hadoop Container
Hadoop ContainerYARN - Container基本的资源单位(CPU、内存等) Container可以加载任意程序,而且不限于Java 一个Node可以包含多个Container,也可以是一个大的Container ApplicationMaster可以根据需要,动态申请和释放Container...原创 2020-06-30 09:33:09 · 186 阅读 · 0 评论 -
Hadoop Mapper——直接上代码
Hadoop MapperMapReduce - Mapper主要是读取InputSplit的每一个Key,Value对并进行处理public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { /** * 预处理,仅在map task启动时运行一次 */ protected void setup(Context context) throws IOException, InterruptedExc原创 2020-06-30 09:34:33 · 97 阅读 · 0 评论 -
Hadoop 读取数据
Hadoop 读取数据MapReduce - 读取数据通过InputFormat决定读取的数据的类型,然后拆分成一个个InputSplit,每个InputSplit对应一个Map处理,RecordReader读取InputSplit的内容给MapInputFormat决定读取数据的格式,可以是文件或数据库等功能验证作业输入的正确性,如格式等 将输入文件切割成逻辑分片(InputSplit),一个InputSplit将会被分配给一个独立的Map任务 提供RecordReader实现原创 2020-06-30 09:35:02 · 593 阅读 · 0 评论 -
Hadoop MapReduce
Hadoop MapReduceHadoop - MapReduce简介一种分布式的计算方式指定一个Map(映#x5C04;)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组Patternmap: (K1, V1) → list(K2, V2) combine: (K2, list(V2)) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3)Map原创 2020-06-30 09:35:55 · 139 阅读 · 0 评论 -
Hadoop Failover
Hadoop FailoverYARN - Failover失败类型程序问题 进程崩溃 硬件问题失败处理任务失败运行时异常或者JVM退出都会报告给ApplicationMaster 通过心跳来检查挂住的任务(timeout),会检查多次(可配置)才判断该任务是否失效 一个作业的任务失败率超过配置,则认为该作业失败 失败的任务或作业都会有ApplicationMaster重新运行ApplicationMaster失败ApplicationMaster定时发送心跳信号到Re原创 2020-06-30 09:34:44 · 211 阅读 · 0 评论 -
Hadoop ApplicationMaster
Hadoop ApplicationMasterYARN - ApplicationMaster单个作业的资源管理和任务监控具体功能描述:计算应用的资源需求,资源可以是静态或动态计算的,静态的一般是Client申请时就指定了,动态则需要ApplicationMaster根据应用的运行状态来决定 根据数据来申请对应位置的资源(Data Locality) 向ResourceManager申请资源,与NodeManager交互进行程序的运行和监控,监控申请的资源的使用情况,监控作业进度 跟原创 2020-06-29 14:36:01 · 335 阅读 · 0 评论 -
Hadoop ResourceManager
Hadoop ResourceManagerYARN - ResourceManager负责全局的资源管理和任务调度,把整个集群当成计算资源池,只关注分配,不管应用,且不负责容错资源管理以前资源是每个节点分成一个个的Map slot和Reduce slot,现在是一个个Container,每个Container可以根据需要运行ApplicationMaster、Map、Reduce或者任意的程序 以前的资源分配是静态的,目前是动态的,资源利用率更高 Container是资源申请的单位,一原创 2020-06-29 14:30:42 · 206 阅读 · 0 评论 -
Hadoop YARN
Hadoop YARNHadoopHadoop - YARN旧的MapReduce架构JobTracker:负责资源管理,跟踪资源消耗和可用性,作业生命周期管理(调度作业任务,跟踪进度,为任务提供容错) TaskTracker:加载或关闭任务,定时报告任务状态此架构会有以下问题:JobTracker是MapReduce的集中处理点,存在单点故障 JobTracker完成了太多的任务,造成了过多的资源消耗,当MapReduce job 非常多的时候,会造成很大的内存开销。这也是...原创 2020-06-29 11:35:48 · 135 阅读 · 0 评论 -
Hadoop 命令工具
Hadoop 命令工具HDFS - 命令工具fsck: 检查文件的完整性start-balancer.sh: 重新平衡HDFShdfs dfs -copyFromLocal 从本地磁盘复制文件到HDFS原创 2020-06-29 11:26:08 · 121 阅读 · 0 评论 -
Hadoop 可靠性
Hadoop 可靠性HDFS - 可靠性 DataNode可以失效 DataNode会定时发送心跳到NameNode。如果一段时间内NameNode没有收到DataNode的心跳消息,则认为其失效。此时NameNode就会将该节点的数据(从该节点的复制节点中获取)复制到另外的DataNode中 数据可以毁坏 无论是写入时还是硬盘本身的问题,只要数据有问题(读取时通过校验码来检测),都可以通过其他的复制节点读取,同时还会再复制一份到健康的节点中 NameNode不可靠...原创 2020-06-29 11:25:15 · 350 阅读 · 0 评论 -
Hadoop 读文件
Hadoop 读文件HDFS - 读文件客户端向NameNode发送读取请求 NameNode返回文件的所有block和这些block所在的DataNodes(包括复制节点) 客户端直接从DataNode中读取数据,如果该DataNode读取失败(DataNode失效或校验码不对),则从复制节点中读取(如果读取的数据就在本机,则直接读取,否则通过网络读取)...原创 2020-06-29 11:11:40 · 106 阅读 · 0 评论 -
Hadoop 写文件
HDFS - 写文件1.客户端将文件写入本地磁盘的HDFS Client文件中2.当临时文件大小达到一个block大小时,HDFS client通知NameNode,申请写入文件3.NameNode在HDFS的文件系统中创建一个文件,并把该block id和要写入的DataNode的列表返回给客户端4.客户端收到这些信息后,将临时文件写入DataNodes4.1 客户端将文件内容写入第一个DataNode(一般以4kb为单位进行传输) 4.2 第一个DataNode接收后,将数据写原创 2020-06-29 11:10:34 · 813 阅读 · 0 评论 -
Hadoop HDFS
Hadoop - HDFS简介Hadoop Distributed File System,分布式文件系统架构 Block数据块; 基本存储单位,一般大小为64M(配置大的块主要是因为:1)减少搜寻时间,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道时间;2)减少管理块的数据开销,每个块都需要在NameNode上有对应的记录;3)对数据块进行读写,减少建立网络的连接成本) 一个大文件会被拆分成一个个的块,然后存储于不同的机器。如果一个文件少于Block大小原创 2020-06-29 11:06:45 · 81 阅读 · 0 评论 -
Hadoop简介
Hadoop - 简介Hadoop可运行于一般的商用服务器上,具有高容错、高可靠性、高扩展性等特点特别适合写一次,读多次的场景适合大规模数据 流式数据(写一次,读多次) 商用硬件(一般硬件)不适合低延时的数据访问 大量的小文件 频繁修改文件(基本就是写1次)Hadoop架构HDFS:分布式文件存储 YARN:分布式资源管理 MapReduce:分布式计算 Others:利用YARN的资源管理功能实现其他的数据处理方式内部各个节点基本都是采用Master...原创 2020-06-29 10:55:29 · 86 阅读 · 0 评论 -
关于Hadoop
铺垫人产生数据的速度越来越快,机器则更加快,more data usually beats better algorithms,所以需要另外的一种处理数据的方法。 硬盘的容量增加了,但性能没有跟上,解决办法是把数据分到多块硬盘,然后同时读取。但带来一些问题:硬件问题:复制数据解决(RAID)分析需要从不同的硬盘读取数据:MapReduce而Hadoop提供了1.可靠的共享存储(分布式存储) 2.抽象的分析接口(分布式分析)大数据概念不能使用一台机器进行处理的数据大数据的核原创 2020-06-29 10:52:28 · 132 阅读 · 0 评论