hadoop
爱吃甜食_
一点点进步,让编程更有趣
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hadoop常用命令
1.1、shell操作命令HDFS命令有两种风格:hadoop fs开头的hdfs dfs开头的两种命令均可使用,效果相同如何查看hdfs或hadoop子命令的帮助信息,如ls子命令hdfsdfs-helplshadoopfs-helpls#两个命令等价查看hdfs文件系统中指定目录的文件列表。对比linux命令lshdfsdfs-ls/hadoopfs-ls/hdfsdfs-ls-R/在hdfs文件系统中创建文件hd...原创 2020-10-18 21:00:28 · 246 阅读 · 0 评论 -
haoop-15 yarn
工作机制原创 2020-06-12 00:57:20 · 171 阅读 · 0 评论 -
hadoop-16 yarn的调度器
Yarn的任务调度器概述FIFO容量调度器公平调度器概述资源调度器是YARN最核心的组件之一,是一个插拔式的服务组件,负责整个集群资源的管理和分配。YARN提供了三种可用的资源调度器:FIFOCapacity SchedulerFair Scheduler。FIFO先来先服务,一般不采用这种调度器。不能满足优先级需求,有长任务执行时,后面的短任务等待时间过长容量调度器Apache默认调度器每个队列可以有多个子队列,灵活配置,可以给不同子部门配置不同队列每个队列采用FIF原创 2020-06-12 00:30:04 · 169 阅读 · 0 评论 -
hadoop-14 自定义计数器
计数器的作用如果需要将日志信息传输到map或reduce任务, 比较好的方法之一是看能否用一个计数器值来记录某一特定事件的发生获取计数器值比输出日志更方便,还有根据计数器值统计特定事件的发生次数要比分析一堆日志文件容易得多hadoop内置计数器列表:计数器包MapReduce任务计数器org.apache.hadoop.mapreduce.TaskCounter文件系统计数器org.apache.hadoop.mapreduce.FileSystemCounter原创 2020-06-09 18:03:21 · 320 阅读 · 0 评论 -
hadoop-13 mapTask、reduceTask工作机制
mapTask工作机制Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value。Map阶段:该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。Collect收集阶段:在用户编写map()函数中,当数据处理完成后,一般会调用OutputCollector.collect()输出结果。在该函数内部,它会将生成的key/value分区(调用Partitioner),并写入一个环原创 2020-06-09 17:01:08 · 244 阅读 · 0 评论 -
hadoop-12 shuffle压缩
数据压缩的意义和好处在shuffle阶段,有大量的数据拷贝操作:从Map阶段输出的数据,通过网络拷贝,发送到reduce阶段。这其中涉及了大量的网络IO,如果数据能够进行压缩,那么数据的发送了就会少的多。文件压缩的好处就显而易见了:节约磁盘空间加速数据在网络和磁盘上的传输数据压缩格式的对比常用的数据压缩算法:常用的算法为LZO和snappyhadoop支持的压缩算法:压缩格式工具算法文件扩展名是否可切分DEFLATE无DEFLATE.defl原创 2020-06-09 11:55:08 · 195 阅读 · 0 评论 -
hadoop-7 MapRecude
MR概念MR是一个分布式运算程序的框架。利用MR可以将一个耗时长,难以在单个计算机上得出结果的大任务,通过在多个机器上并行执行拆分后的任务后再汇总,来用更少的实际得到结果。MR核心功能 MR核心功能是将用户编写的业务逻辑代码和自带默认组件合成一个完整的分布式运算程序, 并发运行在一个hadoop集群上MR核心思想MR的核心思想是分而治之,将一个复杂的大任务分解成若干个小任务来并行执行。三大阶段Map阶段。此阶段负责将大任务分解成若干个小任务来并行处理。必须实现。Shuffle原创 2020-06-09 09:24:13 · 298 阅读 · 0 评论 -
hadoop-11 自定义OutputFormat
步骤仿照TextOuputtFormat自定义OutputFormat。实现:根据输入源的某个非key字段输出到不同的路径。1.自定义类继承FileOutputFormat添加静态类MyRecordWriter()继承RecordWriter类,参数为reducer或mapper的输出k,v添加构造方法,参数为FSDataOutputStream。(conf->Filesystem->FSDataOutputStream)覆写write()覆写close()3.覆写ge原创 2020-06-09 09:23:15 · 262 阅读 · 0 评论 -
hadoop-9 InputFormat详解
概述InputFormat是MapReduce用于处理数据输入的一个最顶级的抽象父类InputFormat实现结构FileInputFormat常用类类名主要作用TextInputFormat读取文本文CombineInputFormat在MR当中用于合并小文件,将多个小文件合并之后只需要启动一个mapTask进行运行SequenceInputFormat处理SequenceFile这种格式的数据KeyValueInputFormat通过手动指定分隔符原创 2020-06-05 10:09:59 · 588 阅读 · 0 评论 -
hadoop-10 MapTask及输入切片机制
概念Block: HDFS物理上数据切成一块一块存储Split : 逻辑上对输入进行分片,不会改变物理上的存储。MapTask在MR中,每个mapTask 处理一个逻辑切片split的数据量默认情况下,每个物理的block对应一个逻辑split,每个split对于一个mapTask。即mapTask数=split数可以通过改变split大小来改变mapTask个数FileInputFormat切片大小计算方式//源码//切片大小决定公式 protected long comp原创 2020-05-28 18:43:06 · 341 阅读 · 0 评论 -
hadoop-8 序列化
概述序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象java序列化和hadoop序列化对比Java 的序列化(Serializable)是一个重量级序列化框架,一个对象被序列化后,会附带很多额外的信息(各种校验信息,header,继承体系…),不便于在网络中高效传输;所以,hadoop 自己开发了一套序列化机制(Writable),精简,高效。不用像 java原创 2020-05-26 16:28:37 · 161 阅读 · 0 评论 -
hadoop 多集群拷贝 快照管理 回收站管理
多个集群之间的数据拷贝在我们实际工作当中,极有可能会遇到将测试集群的数据拷贝到生产环境集群,或者将生产环境集群的数据拷贝到测试集群,那么就需要我们在多个集群之间进行数据的远程拷贝,hadoop自带也有命令可以帮我们实现这个功能1、本地文件拷贝scpcd /kkb/softscp -r jdk-8u141-linux-x64.tar.gz hadoop@node02:/kkb/soft2、集群之间的数据拷贝distcpcd /kkb/install/hadoop-2.6.0-cdh5.14.2/原创 2020-10-18 22:59:02 · 328 阅读 · 0 评论 -
hadop-6 小文件治理
小文件治理原因小文件同样需要对应的元数据,过多的小文件元数据浪费内存空间寻址大量小文件浪费时间hadoop archivehadoop archive实际上底层实现是运行了一个MR任务。官方文档地址:https://hadoop.apache.org/docs/r1.2.1/hadoop_archives.html治理命令name: 生成的压缩包文件名。文件名必须以.har结尾parent path: 需要治理的小文件所在文件夹所在父目录r : 官方文档中也没有提到此参数。s原创 2020-05-23 11:17:29 · 249 阅读 · 0 评论 -
hadoop-5 datanode
Datanodedatanode工作机制数据完整性掉线时限参数设置DataNode的目录结构Datanode多目录配置datanode工作机制1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。3)心跳是每3秒一次,心跳返回结果带有namenode给该datanode的命令如复制块数据到另一台机器原创 2020-05-22 14:32:18 · 137 阅读 · 0 评论 -
hadoop-4 namenode和secondary namenode机制
namenode和secondary namenode机制namenodeedits.logfsimageNameNode工作机制Secondary namenodeSecondary namenode对namenode的备份CheckPoint触发条件namenodenamenode用来管理集群中的元数据信息,每条元数据大概150byte元数据信息存储namenode的内存中edits.log和fsimage存储在NameNode的本地磁盘中edits.log和fsimage加起来就是完整的元原创 2020-05-21 21:46:55 · 328 阅读 · 0 评论 -
hadoop-3 HDFS读写流程
hDFS写数据流程Client按照默认block大小切割(如200M)。200的数据会被切割成128 72两个个block块然后按下图开始写。第一个Block走全流程,后面的block之前从addBlock()开始1.客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在2.NameNode返回是否可以上传3.客户端请求第一个 Block上传到哪几个DataNode服务器上(就近原则,离当前client原创 2020-05-21 18:23:12 · 475 阅读 · 0 评论 -
haoop-2 block机制和副本机制
抽象成block的好处一个文件有可能大于集群中任意一个磁盘10T*3/128 = xxx块 2T,2T,2T 文件方式存—–>多个block块,这些block块属于一个文件使用块抽象而不是文件可以简化存储子系统。只需要和block打交道而不是具体的文件系统块非常适合用于数据备份进而提供数据容错能力和可用性,以block为单位备份块缓存DataNode读写频繁的block会被存储在DataNode的内存中。一个bolck仅仅缓存在一个DataNode的内存中副本数hadoop默认保原创 2020-05-21 15:40:48 · 233 阅读 · 0 评论 -
hadoop-1 java 操作文件
hadoophdfs的安全模式HDFS与javaAPI开发Windows下hadoop环境变量配置文件系统配置项的3种重载方式新建,重命名、删除,上传hdfs的安全模式安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受只读数据请求,而不接受删除、修改等请求HDFS启动时,DataNode向NameNode注册汇报。汇报可用的block状态。NameNode判断有99.9%的block满足最小副本数(1,与设置的副本数无关)就会退出安全模式HDFS启动时,默认30秒处于安全期,过原创 2020-05-21 14:47:50 · 167 阅读 · 0 评论 -
hdfs常用配置文件
每个property的详细含义可参考官方文档(左下角Configuration一栏中):https://hadoop.apache.org/docs/r2.9.2/core-site.xml<configuration><!-- 文件系统地址,代码中设置连接配置时要用 --> <property> <name>fs.defaultFS</name> <value>hdfs://IP:802原创 2020-05-20 10:26:57 · 1769 阅读 · 0 评论 -
hadoop-fs.defaultFS
在java代码中配置hadoop需要调用 conf.set方法。此方法中要求传入name和value//源码 public void set(String name, String value) { set(name, value, null); }//配置代码 Configuration conf = new Configuration(); conf.set("fs:defaultFS","hdfs://node01:8020");此name和value实际上在 core-s.原创 2020-05-19 23:21:23 · 8516 阅读 · 1 评论 -
基于idea搭建Hadoop源码阅读环境
亲测可用。下载包的试试下载尾缀为src.tar.gz的Hadoop源码是这么做,其他源码环境也类似。1、到官网下载Hadoop源码包,例如hadoop-2.6.5-src.tar.gz.https://www-eu.apache.org/dist/hadoop/common/hadoop-2.6.5/2、将下载的源码包解压到某个目录下,记住这个目录,后面导入Idea时需要这个目录。3、打开Idea,点击Import Project选项卡。选择Import project from ext转载 2020-05-19 20:12:14 · 444 阅读 · 0 评论 -
hadoop shell常用命令
hadoop shell操作命令Shell常用命令1.2、hdfs与getconf结合使用1.3、hdfs与dfsadmin结合使用1.4、hdfs与fsck结合使用1.5、 其他命令Shell常用命令HDFS命令有两种风格:hadoop fs开头的hdfs dfs开头的两种命令均可使用,效果相同1.如何查看hdfs或hadoop子命令的帮助信息,如ls子命令 hdfs dfs -help ls hadoop fs -help ls #两个命令等价2.查看hdfs文件系统中指定目录的文原创 2020-10-18 22:59:47 · 2204 阅读 · 0 评论
分享